aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/openmp.c
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/openmp.c
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/openmp.c')
-rw-r--r--gcc/fortran/openmp.c3
1 files changed, 2 insertions, 1 deletions
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;
}