re PR fortran/62270 (-Wlogical-not-parentheses warnings)
authorMarek Polacek <polacek@redhat.com>
Tue, 2 Sep 2014 16:08:05 +0000 (16:08 +0000)
committerMarek Polacek <mpolacek@gcc.gnu.org>
Tue, 2 Sep 2014 16:08:05 +0000 (16:08 +0000)
PR fortran/62270
* interface.c (compare_parameter): Fix condition.
* trans-expr.c (gfc_conv_procedure_call): Likewise.

* gfortran.dg/pointer_intent_7.f90: Adjust dg-error.

From-SVN: r214827

gcc/fortran/ChangeLog
gcc/fortran/interface.c
gcc/fortran/trans-expr.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/pointer_intent_7.f90

index eab86ed..518923b 100644 (file)
@@ -1,3 +1,9 @@
+2014-09-02  Marek Polacek  <polacek@redhat.com>
+
+       PR fortran/62270
+       * interface.c (compare_parameter): Fix condition.
+       * trans-expr.c (gfc_conv_procedure_call): Likewise.
+
 2014-08-31  Fritz Reese  <Reese-Fritz@zai.com>
 
        PR fortran/62309
index b210d18..f6233b7 100644 (file)
@@ -2014,7 +2014,7 @@ compare_parameter (gfc_symbol *formal, gfc_expr *actual,
   if (formal->ts.type == BT_CLASS && formal->attr.class_ok
       && actual->expr_type != EXPR_NULL
       && ((CLASS_DATA (formal)->attr.class_pointer
-          && !formal->attr.intent == INTENT_IN)
+          && formal->attr.intent != INTENT_IN)
           || CLASS_DATA (formal)->attr.allocatable))
     {
       if (actual->ts.type != BT_CLASS)
index f2ed474..4c057ee 100644 (file)
@@ -4589,7 +4589,7 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
                      && e->expr_type == EXPR_VARIABLE
                      && (!e->ref
                          || (e->ref->type == REF_ARRAY
-                             && !e->ref->u.ar.type != AR_FULL))
+                             && e->ref->u.ar.type != AR_FULL))
                      && e->symtree->n.sym->attr.optional)
                    {
                      tmp = fold_build3_loc (input_location, COND_EXPR,
index 97e73f8..fa8fb47 100644 (file)
@@ -1,3 +1,8 @@
+2014-09-02  Marek Polacek  <polacek@redhat.com>
+
+       PR fortran/62270
+       * gfortran.dg/pointer_intent_7.f90: Adjust dg-error.
+
 2014-09-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
 
        PR target/62275
index c09eb2b..5387ace 100644 (file)
@@ -23,7 +23,7 @@ contains
     call bar2 (c)
     call bar3 (c)
     call bar2p (b) ! { dg-error "INTENT\\(IN\\) in pointer association context \\(actual argument to INTENT = OUT/INOUT" }
-    call bar3p (b) ! { dg-error "INTENT\\(IN\\) in pointer association context \\(actual argument to INTENT = OUT/INOUT" }
+    call bar3p (b) ! { dg-error "Actual argument to .n. at \\(1\\) must be polymorphic" }
     call bar2p (c) ! { dg-error "INTENT\\(IN\\) in pointer association context \\(actual argument to INTENT = OUT/INOUT" }
     call bar3p (c) ! { dg-error "INTENT\\(IN\\) in pointer association context \\(actual argument to INTENT = OUT/INOUT" }
   end subroutine