aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2017-06-28 02:17:40 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2017-06-28 02:17:40 +0000
commit8801653208ef13e4762d907971e3a6b83a8e721e (patch)
treeca58e617c6fd755c861d477ebdd092e0b97531b9 /gcc/fortran
parent2d4800a136d33899f4d8edc23520854777780a97 (diff)
downloadgcc-8801653208ef13e4762d907971e3a6b83a8e721e.zip
gcc-8801653208ef13e4762d907971e3a6b83a8e721e.tar.gz
gcc-8801653208ef13e4762d907971e3a6b83a8e721e.tar.bz2
re PR fortran/80164 (ICE in gfc_format_decoder at gcc/fortran/error.c:933)
2017-06-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/80164 * trans-stmt.c (gfc_trans_call): If no code expr, use code->loc as warning/error locus. * gfortran.dg/array_temporaries_4.f90: New test. From-SVN: r249718
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/trans-stmt.c6
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 88fd0b3..fbf0b4d 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2017-06-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/80164
+ * trans-stmt.c (gfc_trans_call): If no code expr, use code->loc
+ as warning/error locus.
+
2017-06-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/81160
diff --git a/gcc/fortran/trans-stmt.c b/gcc/fortran/trans-stmt.c
index e4f1da5..a1e1dff 100644
--- a/gcc/fortran/trans-stmt.c
+++ b/gcc/fortran/trans-stmt.c
@@ -452,7 +452,11 @@ gfc_trans_call (gfc_code * code, bool dependency_check,
subscripts. This could be prevented in the elemental case
as temporaries are handled separatedly
(below in gfc_conv_elemental_dependencies). */
- gfc_conv_loop_setup (&loop, &code->expr1->where);
+ if (code->expr1)
+ gfc_conv_loop_setup (&loop, &code->expr1->where);
+ else
+ gfc_conv_loop_setup (&loop, &code->loc);
+
gfc_mark_ss_chain_used (ss, 1);
/* Convert the arguments, checking for dependencies. */