aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorCesar Philippidis <cesar@codesourcery.com>2017-06-29 12:03:43 -0700
committerCesar Philippidis <cesar@gcc.gnu.org>2017-06-29 12:03:43 -0700
commit74582a3e2e01068437410fb75f2f9282ee4923e3 (patch)
treeff42cdef52ef1d60ee4f502bc798e030fc351df5 /gcc/fortran
parent6da4066f343f133670c07cbb199527f549fd261f (diff)
downloadgcc-74582a3e2e01068437410fb75f2f9282ee4923e3.zip
gcc-74582a3e2e01068437410fb75f2f9282ee4923e3.tar.gz
gcc-74582a3e2e01068437410fb75f2f9282ee4923e3.tar.bz2
re PR fortran/77765 (ICE in gfc_match_oacc_routine, at fortran/openmp.c:1781)
PR fortran/77765 gcc/fortran/ * openmp.c (gfc_match_oacc_routine): Check if proc_name exist before comparing the routine name against it. gcc/testsuite/ * gfortran.dg/goacc/pr77765.f90: New test. From-SVN: r249809
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/openmp.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index fbf0b4d..e9043dd 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2017-06-29 Cesar Philippidis <cesar@codesourcery.com>
+
+ PR fortran/77765
+ * openmp.c (gfc_match_oacc_routine): Check if proc_name exist before
+ comparing the routine name against it.
+
2017-06-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/80164
diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c
index 2b56558..8400354 100644
--- a/gcc/fortran/openmp.c
+++ b/gcc/fortran/openmp.c
@@ -2295,7 +2295,8 @@ gfc_match_oacc_routine (void)
if (st)
{
sym = st->n.sym;
- if (strcmp (sym->name, gfc_current_ns->proc_name->name) == 0)
+ if (gfc_current_ns->proc_name != NULL
+ && strcmp (sym->name, gfc_current_ns->proc_name->name) == 0)
sym = NULL;
}