From 6b9ac6fcad7db28ce5337b232883e8dbca673f42 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 16 Feb 2006 22:35:38 +0100 Subject: [PATCH] re PR fortran/26224 (ICE in C$OMP SINGLE / END SINGLE COPYPRIVATE( ) block) PR fortran/26224 * parse.c (parse_omp_do, parse_omp_structured_block): Call gfc_commit_symbols and gfc_warning_check. * gfortran.dg/gomp/pr26224.f: New test. From-SVN: r111153 --- gcc/fortran/ChangeLog | 4 ++++ gcc/fortran/parse.c | 4 ++++ gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gfortran.dg/gomp/pr26224.f | 8 ++++++++ 4 files changed, 21 insertions(+) create mode 100644 gcc/testsuite/gfortran.dg/gomp/pr26224.f diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 3839c3f41b1..324d013511b 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,9 @@ 2006-02-16 Jakub Jelinek + PR fortran/26224 + * parse.c (parse_omp_do, parse_omp_structured_block): Call + gfc_commit_symbols and gfc_warning_check. + * openmp.c (resolve_omp_clauses): Add a dummy case label to workaround PR middle-end/26316. diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c index 832848237e9..b120bbb77ef 100644 --- a/gcc/fortran/parse.c +++ b/gcc/fortran/parse.c @@ -2348,6 +2348,8 @@ parse_omp_do (gfc_statement omp_st) else gcc_assert (new_st.op == EXEC_NOP); gfc_clear_new_st (); + gfc_commit_symbols (); + gfc_warning_check (); st = next_statement (); } return st; @@ -2548,6 +2550,8 @@ parse_omp_structured_block (gfc_statement omp_st, bool workshare_stmts_only) } gfc_clear_new_st (); + gfc_commit_symbols (); + gfc_warning_check (); pop_state (); } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2ef471615b2..621addaf706 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2006-02-16 Jakub Jelinek + + PR fortran/26224 + * gfortran.dg/gomp/pr26224.f: New test. + 2006-02-16 Victor Kaplansky PR tree-opt/25918 diff --git a/gcc/testsuite/gfortran.dg/gomp/pr26224.f b/gcc/testsuite/gfortran.dg/gomp/pr26224.f new file mode 100644 index 00000000000..0446d5254fc --- /dev/null +++ b/gcc/testsuite/gfortran.dg/gomp/pr26224.f @@ -0,0 +1,8 @@ +C PR fortran/26224 +C { dg-do compile } + + PROGRAM PR26224 + INTEGER FOO +C$OMP SINGLE +C$OMP END SINGLE COPYPRIVATE (FOO, BAR) + END -- 2.30.2