This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/62270] New: -Wlogical-not-parentheses warnings
- From: "mpolacek at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 26 Aug 2014 17:22:45 +0000
- Subject: [Bug fortran/62270] New: -Wlogical-not-parentheses warnings
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62270
Bug ID: 62270
Summary: -Wlogical-not-parentheses warnings
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: mpolacek at gcc dot gnu.org
-Wlogical-not-parentheses detected these two issues:
interface.c:compare_parameter
2013 /* F2008, 12.5.2.5; IR F08/0073. */
2014 if (formal->ts.type == BT_CLASS && formal->attr.class_ok
2015 && actual->expr_type != EXPR_NULL
2016 && ((CLASS_DATA (formal)->attr.class_pointer
2017 && !formal->attr.intent == INTENT_IN)
trans-expr.c:gfc_conv_procedure_call
4445 if (fsym->attr.optional
4446 && e->expr_type == EXPR_VARIABLE
4447 && (!e->ref
4448 || (e->ref->type == REF_ARRAY
4449 && !e->ref->u.ar.type != AR_FULL))
But my attempts to fix these failed.
The first one should likely be "&& formal->attr.intent != INTENT_IN)", but that
regressed gfortran.dg/pointer_intent_7.f90 test. If I change it to "==", many
tests fail.
For the second one, perhaps just the "!" should be dropped, but I'm not sure
about that, testsuite didn't reveal anything.
Currently this PR is the last thing that is blocking the inclusion of
-Wlogical-not-parentheses in -Wall - I'd appreciate if anyone could look into
this PR.