aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2008-02-20 19:21:14 +0100
committerTobias Burnus <burnus@gcc.gnu.org>2008-02-20 19:21:14 +0100
commit89a5afda0e8c61e452cf46f305658d3f01117aba (patch)
treee68e064de125857eee91b9fe22ed75bed60f1fa5 /gcc
parent4cd8e76f1d5a3023e1faed30cef00270103c330d (diff)
downloadgcc-89a5afda0e8c61e452cf46f305658d3f01117aba.zip
gcc-89a5afda0e8c61e452cf46f305658d3f01117aba.tar.gz
gcc-89a5afda0e8c61e452cf46f305658d3f01117aba.tar.bz2
re PR fortran/34997 (Mention -fdollar-ok option in error message for symbol names containing $)
2008-02-20 Tobias Burnus <burnus@net-b.de> PR fortran/34997 * match.c (gfc_match_name): Improve error message for '$'. 2008-02-20 Tobias Burnus <burnus@net-b.de> PR fortran/34997 * gfortran.dg/dollar_sym_1.f90: New. * gfortran.dg/dollar_sym_2.f90: New. From-SVN: r132488
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/match.c7
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gfortran.dg/dollar_sym_1.f909
-rw-r--r--gcc/testsuite/gfortran.dg/dollar_sym_2.f9011
5 files changed, 38 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index ea74958..cdce280 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+2008-02-20 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/34997
+ * match.c (gfc_match_name): Improve error message for '$'.
+
2008-02-19 Daniel Franke <franke.daniel@gmail.com>
PR fortran/35030
diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c
index 324e52e..c1920ff 100644
--- a/gcc/fortran/match.c
+++ b/gcc/fortran/match.c
@@ -519,6 +519,13 @@ gfc_match_name (char *buffer)
}
while (ISALNUM (c) || c == '_' || (gfc_option.flag_dollar_ok && c == '$'));
+ if (c == '$' && !gfc_option.flag_dollar_ok)
+ {
+ gfc_error ("Invalid character '$' at %C. Use -fdollar-ok to allow it as an extension");
+ return MATCH_ERROR;
+ }
+
+
buffer[i] = '\0';
gfc_current_locus = old_loc;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 04c799f..34ccb96 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2008-02-20 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/34997
+ * gfortran.dg/dollar_sym_1.f90: New.
+ * gfortran.dg/dollar_sym_2.f90: New.
+
2008-02-20 Richard Guenther <rguenther@suse.de>
PR middle-end/35265
diff --git a/gcc/testsuite/gfortran.dg/dollar_sym_1.f90 b/gcc/testsuite/gfortran.dg/dollar_sym_1.f90
new file mode 100644
index 0000000..37f0f88
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/dollar_sym_1.f90
@@ -0,0 +1,9 @@
+! { dg-do compile }
+! PR fortran/34997
+! Variable names containing $ signs
+!
+ REAL*4 PLT$C_HOUSTPIX ! { dg-error "Invalid character '\\$'" }
+ INTEGER PLT$C_COMMAND ! { dg-error "Invalid character '\\$'" }
+ PARAMETER (PLT$B_OPC=0) ! { dg-error "Invalid character '\\$'" }
+ common /abc$def/ PLT$C_HOUSTPIX, PLT$C_COMMAND ! { dg-error "Invalid character '\\$'" }
+ end
diff --git a/gcc/testsuite/gfortran.dg/dollar_sym_2.f90 b/gcc/testsuite/gfortran.dg/dollar_sym_2.f90
new file mode 100644
index 0000000..800a728
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/dollar_sym_2.f90
@@ -0,0 +1,11 @@
+! { dg-do compile }
+! { dg-options "-fdollar-ok" }
+!
+! PR fortran/34997
+! Variable names containing $ signs
+!
+ REAL*4 PLT$C_HOUSTPIX
+ INTEGER PLT$C_COMMAND
+ PARAMETER (PLT$B_OPC=0)
+ common /abc$def/ PLT$C_HOUSTPIX, PLT$C_COMMAND
+ end