diff options
| author | aldot <aldot@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-01-07 16:23:45 +0000 |
|---|---|---|
| committer | aldot <aldot@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-01-07 16:23:45 +0000 |
| commit | 91652ee1a05b0de7c5b35eb3ee17818772d4de5e (patch) | |
| tree | ce104e32e3d71efd8297d4cb8ef0bc9180ae85c0 | |
| parent | 1c87e488d737d84577dd29ef53aa863c9deab2bc (diff) | |
| download | ppe42-gcc-91652ee1a05b0de7c5b35eb3ee17818772d4de5e.tar.gz ppe42-gcc-91652ee1a05b0de7c5b35eb3ee17818772d4de5e.zip | |
fortran/ChangeLog
2007-01-03 Bernhard Fischer <aldot@gcc.gnu.org>
PR fortran/27698
* match.c (gfc_match_name): Print diagnostics for invalid character
in names.
testsuite/ChangeLog
2007-01-03 Bernhard Fischer <aldot@gcc.gnu.org>
PR fortran/27698
* gfortran.dg/invalid_name.f90: New test.
* gfortran.dg/do_iterator.f90: Adjust pattern for expected error.
* gfortran.dg/gomp/pr29759.f90: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120549 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/fortran/match.c | 2 | ||||
| -rw-r--r-- | gcc/testsuite/ChangeLog | 7 | ||||
| -rw-r--r-- | gcc/testsuite/gfortran.dg/do_iterator.f90 | 2 | ||||
| -rw-r--r-- | gcc/testsuite/gfortran.dg/gomp/pr29759.f90 | 8 | ||||
| -rw-r--r-- | gcc/testsuite/gfortran.dg/invalid_name.f90 | 6 |
6 files changed, 26 insertions, 5 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 116d4ac7e36..5615d1f91a6 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2007-01-07 Bernhard Fischer <aldot@gcc.gnu.org> + + PR fortran/27698 + * match.c (gfc_match_name): Print diagnostics for invalid + character in names. + 2007-01-06 Steven G. Kargl <kargl@gcc.gnu.org> * array.c: Fix whitespace in comment table. diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c index 0dc2c7295b1..376f0a538c7 100644 --- a/gcc/fortran/match.c +++ b/gcc/fortran/match.c @@ -396,6 +396,8 @@ gfc_match_name (char *buffer) c = gfc_next_char (); if (!ISALPHA (c)) { + if (gfc_error_flag_test() == 0) + gfc_error ("Invalid character in name at %C"); gfc_current_locus = old_loc; return MATCH_NO; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index cc6dd8ebc7e..3047d1ed28b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2007-01-07 Bernhard Fischer <aldot@gcc.gnu.org> + + PR fortran/27698 + * gfortran.dg/invalid_name.f90: New test. + * gfortran.dg/do_iterator.f90: Adjust pattern for expected error. + * gfortran.dg/gomp/pr29759.f90: Ditto. + 2007-01-06 Steven G. Kargl <kargl@gcc.gnu.org> * gfortran.dg/present_1.f90: Update error message. diff --git a/gcc/testsuite/gfortran.dg/do_iterator.f90 b/gcc/testsuite/gfortran.dg/do_iterator.f90 index 0e11aa23339..cb3e50d59bc 100644 --- a/gcc/testsuite/gfortran.dg/do_iterator.f90 +++ b/gcc/testsuite/gfortran.dg/do_iterator.f90 @@ -10,4 +10,4 @@ DO I=1,5 ! { dg-error "cannot be redefined" "changing do-iterator 3" } READ(5,*,iostat=i) j ! { dg-error "cannot be redefined" "changing do-iterator 3" } ENDDO END - +! { dg-error "Invalid character" "character" { target *-*-* } 7 } diff --git a/gcc/testsuite/gfortran.dg/gomp/pr29759.f90 b/gcc/testsuite/gfortran.dg/gomp/pr29759.f90 index 19a19c978ae..b723eeb3c76 100644 --- a/gcc/testsuite/gfortran.dg/gomp/pr29759.f90 +++ b/gcc/testsuite/gfortran.dg/gomp/pr29759.f90 @@ -22,21 +22,21 @@ PROGRAM test_omp !$OMP PARALLEL & ! { dg-error "Unclassifiable OpenMP" } -!$ NUM_THREADS(2) ! { dg-error "Unclassifiable" } +!$ NUM_THREADS(2) ! { dg-error "Unclassifiable|Invalid character" } !$OMP END PARALLEL ! { dg-error "Unexpected" } !$OMP PARALLEL & ! { dg-error "Unclassifiable OpenMP" } -!$ & NUM_THREADS(2) ! { dg-error "Unclassifiable" } +!$ & NUM_THREADS(2) ! { dg-error "Unclassifiable|Invalid character" } !$OMP END PARALLEL ! { dg-error "Unexpected" } !$OMP PARALLEL & ! { dg-error "Unclassifiable OpenMP" } ! -!$ NUM_THREADS(2) ! { dg-error "Unclassifiable" } +!$ NUM_THREADS(2) ! { dg-error "Unclassifiable|Invalid character" } !$OMP END PARALLEL ! { dg-error "Unexpected" } !$OMP PARALLEL & ! { dg-error "Unclassifiable OpenMP" } ! -!$ & NUM_THREADS(2) ! { dg-error "Unclassifiable" } +!$ & NUM_THREADS(2) ! { dg-error "Unclassifiable|Invalid character" } !$OMP END PARALLEL ! { dg-error "Unexpected" } END PROGRAM diff --git a/gcc/testsuite/gfortran.dg/invalid_name.f90 b/gcc/testsuite/gfortran.dg/invalid_name.f90 new file mode 100644 index 00000000000..895664f8491 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/invalid_name.f90 @@ -0,0 +1,6 @@ +! { dg-do compile } +! Tests the fix for PR27698, where names not starting with a letter were +! rejected but not diagnosed with a proper message. +SUBROUTINE _foo ! { dg-error "Invalid character in name" } +END + |

