From: aldot Date: Sun, 7 Jan 2007 16:23:45 +0000 (+0000) Subject: fortran/ChangeLog X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=91652ee1a05b0de7c5b35eb3ee17818772d4de5e;p=thirdparty%2Fgcc.git fortran/ChangeLog 2007-01-03 Bernhard Fischer PR fortran/27698 * match.c (gfc_match_name): Print diagnostics for invalid character in names. testsuite/ChangeLog 2007-01-03 Bernhard Fischer 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 --- diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 116d4ac7e36b..5615d1f91a62 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2007-01-07 Bernhard Fischer + + PR fortran/27698 + * match.c (gfc_match_name): Print diagnostics for invalid + character in names. + 2007-01-06 Steven G. Kargl * array.c: Fix whitespace in comment table. diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c index 0dc2c7295b15..376f0a538c77 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 cc6dd8ebc7e6..3047d1ed28b4 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2007-01-07 Bernhard Fischer + + 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 * 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 0e11aa23339a..cb3e50d59bcc 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 19a19c978aef..b723eeb3c76e 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 000000000000..895664f84910 --- /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 +