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.