aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSteven G. Kargl <kargl@gcc.gnu.org>2016-09-25 17:30:27 +0000
committerSteven G. Kargl <kargl@gcc.gnu.org>2016-09-25 17:30:27 +0000
commitf1c7e7f10fe8b4ad6dbfb2a93c850d52693a6331 (patch)
treeb1221852fb597b28c21431c40c05925dd6e11aae /gcc
parent5335c35f01a196b750ae0a59eb3c1527c6ecf654 (diff)
downloadgcc-f1c7e7f10fe8b4ad6dbfb2a93c850d52693a6331.zip
gcc-f1c7e7f10fe8b4ad6dbfb2a93c850d52693a6331.tar.gz
gcc-f1c7e7f10fe8b4ad6dbfb2a93c850d52693a6331.tar.bz2
re PR fortran/77694 (ICE in optimize_binop_array_assignment, at fortran/frontend-passes.c:1080)
2016-09-22 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77694 * frontend-passes.c (optimize_binop_array_assignment): Check pointer for NULL. 2016-09-22 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77694 * gfortran.dg/pr77694.f90: New test. From-SVN: r240476
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/frontend-passes.c3
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/pr77694.f907
4 files changed, 21 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index fbab438..96867e3 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2016-09-25 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/77694
+ * frontend-passes.c (optimize_binop_array_assignment): Check pointer
+ for NULL.
+
2016-09-23 Fritz Reese <fritzoreese@gmail.com>
* lang.opt, invoke.texi, gfortran.texi: New flag -fdec-static.
diff --git a/gcc/fortran/frontend-passes.c b/gcc/fortran/frontend-passes.c
index cd10979..3a2c16e 100644
--- a/gcc/fortran/frontend-passes.c
+++ b/gcc/fortran/frontend-passes.c
@@ -1076,6 +1076,9 @@ optimize_binop_array_assignment (gfc_code *c, gfc_expr **rhs, bool seen_op)
{
gfc_expr *e;
+ if (!*rhs)
+ return false;
+
e = *rhs;
if (e->expr_type == EXPR_OP)
{
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 4fc22c4..5f7435e 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2016-09-25 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/77694
+ * gfortran.dg/pr77694.f90: New test.
+
2016-09-25 Oleg Endo <olegendo@gcc.gnu.org>
PR target/51244
diff --git a/gcc/testsuite/gfortran.dg/pr77694.f90 b/gcc/testsuite/gfortran.dg/pr77694.f90
new file mode 100644
index 0000000..d9dc01b
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr77694.f90
@@ -0,0 +1,7 @@
+! { dg-do compile }
+! { dg-options -O }
+program p
+ logical x(2), y(2)
+ x = .true.
+ y = .nt. x ! { dg-error "Unknown operator" }
+end