diff options
author | Jakub Jelinek <jakub@redhat.com> | 2006-11-13 20:42:55 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2006-11-13 20:42:55 +0100 |
commit | b30c6a0d2177a1d28b7c320afffd12a1cafcc4bb (patch) | |
tree | 15823ef68e65e72d14a857c6f5534ffbffda0e7f /gcc | |
parent | e7d459bd0bc6a40dbbc550c15270d41a07874b3a (diff) | |
download | gcc-b30c6a0d2177a1d28b7c320afffd12a1cafcc4bb.zip gcc-b30c6a0d2177a1d28b7c320afffd12a1cafcc4bb.tar.gz gcc-b30c6a0d2177a1d28b7c320afffd12a1cafcc4bb.tar.bz2 |
re PR fortran/29759 (ice on line continuation in OMP statements (gfc_next_char_literal, at fortran/scanner.c:701))
PR fortran/29759
* fortran/scanner.c (skip_free_comments): Clear openmp_flag
before returning true.
* gfortran.dg/gomp/pr29759.f90: New test.
From-SVN: r118773
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/scanner.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/gomp/pr29759.f90 | 42 |
4 files changed, 54 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 3cd8b11..2ba9e87 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2006-11-13 Jakub Jelinek <jakub@redhat.com> + + PR fortran/29759 + * fortran/scanner.c (skip_free_comments): Clear openmp_flag + before returning true. + 2006-11-12 Andrew Pinski <andrew_pinski@playstation.sony.com> PR fortran/26994 diff --git a/gcc/fortran/scanner.c b/gcc/fortran/scanner.c index 9d0ba2a..b054904 100644 --- a/gcc/fortran/scanner.c +++ b/gcc/fortran/scanner.c @@ -392,6 +392,7 @@ skip_free_comments (void) { gfc_current_locus = old_loc; next_char (); + openmp_flag = 0; return true; } } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 88f8c59..b058a6d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2006-11-13 Jakub Jelinek <jakub@redhat.com> + + PR fortran/29759 + * gfortran.dg/gomp/pr29759.f90: New test. + 2006-11-13 Mark Mitchell <mark@codesourcery.com> PR c++/29518 diff --git a/gcc/testsuite/gfortran.dg/gomp/pr29759.f90 b/gcc/testsuite/gfortran.dg/gomp/pr29759.f90 new file mode 100644 index 0000000..19a19c9 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/gomp/pr29759.f90 @@ -0,0 +1,42 @@ +! PR fortran/29759 +! { dg-do compile } + +PROGRAM test_omp +!$OMP PARALLEL & +!$OMP NUM_THREADS(2) +!$OMP END PARALLEL + +!$OMP PARALLEL & +!$OMP & NUM_THREADS(2) +!$OMP END PARALLEL + +!$OMP PARALLEL & +! +!$OMP NUM_THREADS(2) +!$OMP END PARALLEL + +!$OMP PARALLEL & +! +!$OMP & NUM_THREADS(2) +!$OMP END PARALLEL + + +!$OMP PARALLEL & ! { dg-error "Unclassifiable OpenMP" } +!$ NUM_THREADS(2) ! { dg-error "Unclassifiable" } +!$OMP END PARALLEL ! { dg-error "Unexpected" } + +!$OMP PARALLEL & ! { dg-error "Unclassifiable OpenMP" } +!$ & NUM_THREADS(2) ! { dg-error "Unclassifiable" } +!$OMP END PARALLEL ! { dg-error "Unexpected" } + +!$OMP PARALLEL & ! { dg-error "Unclassifiable OpenMP" } +! +!$ NUM_THREADS(2) ! { dg-error "Unclassifiable" } +!$OMP END PARALLEL ! { dg-error "Unexpected" } + +!$OMP PARALLEL & ! { dg-error "Unclassifiable OpenMP" } +! +!$ & NUM_THREADS(2) ! { dg-error "Unclassifiable" } +!$OMP END PARALLEL ! { dg-error "Unexpected" } + +END PROGRAM |