[multiple changes]
authorSteven G. Kargl <kargl@gcc.gnu.org>
Sun, 9 Dec 2018 16:32:48 +0000 (16:32 +0000)
committerSteven G. Kargl <kargl@gcc.gnu.org>
Sun, 9 Dec 2018 16:32:48 +0000 (16:32 +0000)
2018-12-09  Fritz Reese  <fritzoreese@gmail.com>

PR fortran/88228
* resolve.c (resolve_operator):  Do not call resolve_function.
Break like other cases.

2018-12-09  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/88228
* gfortran.dg/pr88228.f90: New test.

From-SVN: r266926

gcc/fortran/ChangeLog
gcc/fortran/resolve.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/pr88228.f90 [new file with mode: 0644]

index e74bda7..f37ca63 100644 (file)
@@ -1,3 +1,9 @@
+2018-12-09  Fritz Reese  <fritzoreese@gmail.com>
+
+       PR fortran/88228
+       * resolve.c (resolve_operator):  Do not call resolve_function.
+       Break like other cases.
+
 2018-12-09  Cesar Philippidis  <cesar@codesourcery.com>
 
        * trans-openmp.c (gfc_trans_oacc_combined_directive): Set the
index 949fe98..f4bf84b 100644 (file)
@@ -4004,7 +4004,7 @@ resolve_operator (gfc_expr *e)
          if (op2->ts.type != e->ts.type || op2->ts.kind != e->ts.kind)
            gfc_convert_type (op2, &e->ts, 1);
          e = logical_to_bitwise (e);
-         return resolve_function (e);
+         break;
        }
 
       sprintf (msg, _("Operands of logical operator %%<%s%%> at %%L are %s/%s"),
@@ -4020,7 +4020,7 @@ resolve_operator (gfc_expr *e)
          e->ts.type = BT_INTEGER;
          e->ts.kind = op1->ts.kind;
          e = logical_to_bitwise (e);
-         return resolve_function (e);
+         break;
        }
 
       if (op1->ts.type == BT_LOGICAL)
index 19bc532..120fb9e 100644 (file)
@@ -1,3 +1,8 @@
+2018-12-09  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/88228
+       * gfortran.dg/pr88228.f90: New test.
+
 2018-12-09  Thomas Schwinge  <thomas@codesourcery.com>
 
        * gfortran.dg/goacc/combined-directives-3.f90: New file.
diff --git a/gcc/testsuite/gfortran.dg/pr88228.f90 b/gcc/testsuite/gfortran.dg/pr88228.f90
new file mode 100644 (file)
index 0000000..cf5bbbe
--- /dev/null
@@ -0,0 +1,8 @@
+! { dg-do compile }
+! { dg-options "-fdec" }
+! PR fortran/88228
+program p
+   integer :: n = .not. 1
+   integer :: j = .true. .or. 1
+end
+