OSDN Git Service

fortran/ChangeLog
authoraldot <aldot@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 7 Jan 2007 16:23:45 +0000 (16:23 +0000)
committeraldot <aldot@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 7 Jan 2007 16:23:45 +0000 (16:23 +0000)
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

gcc/fortran/ChangeLog
gcc/fortran/match.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/do_iterator.f90
gcc/testsuite/gfortran.dg/gomp/pr29759.f90
gcc/testsuite/gfortran.dg/invalid_name.f90 [new file with mode: 0644]

index 116d4ac..5615d1f 100644 (file)
@@ -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.
index 0dc2c72..376f0a5 100644 (file)
@@ -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;
     }
index cc6dd8e..3047d1e 100644 (file)
@@ -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.
index 0e11aa2..cb3e50d 100644 (file)
@@ -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 }
index 19a19c9..b723eeb 100644 (file)
@@ -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 (file)
index 0000000..895664f
--- /dev/null
@@ -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
+