aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTobias Burnus <burnus@gcc.gnu.org>2013-07-17 14:57:41 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2013-07-17 14:57:41 +0200
commitbdb4f6ce2febef65e8e6b1a0d9e921b2061edac8 (patch)
treeccfe0a46201e28b7ac2a0161d259c2f552ad775b /gcc
parenta1259a13026fb572411d29b13318264e2d087346 (diff)
downloadgcc-bdb4f6ce2febef65e8e6b1a0d9e921b2061edac8.zip
gcc-bdb4f6ce2febef65e8e6b1a0d9e921b2061edac8.tar.gz
gcc-bdb4f6ce2febef65e8e6b1a0d9e921b2061edac8.tar.bz2
[multiple changes]
2013-07-17 Mikael Morin <mikael@gcc.gnu.org> Tobias Burnus <burnus@net-b.de> PR fortran/57895 * match.c (gfc_match_name): Ensure that the error message regarding -fdollar-ok gets printed. (gfc_match_common): Avoid multiple freeing. 2013-07-17 Tobias Burnus <burnus@net-b.de> PR fortran/57895 * gfortran.dg/dollar_sym_3.f: New. * gfortran.dg/dollar_sym_1.f90: Update dg-error. From-SVN: r201008
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog12
-rw-r--r--gcc/fortran/match.c8
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gfortran.dg/dollar_sym_1.f906
-rw-r--r--gcc/testsuite/gfortran.dg/dollar_sym_3.f10
5 files changed, 31 insertions, 11 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 0013101..6c977b9 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,11 @@
+2013-07-17 Mikael Morin <mikael@gcc.gnu.org>
+ Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/57895
+ * match.c (gfc_match_name): Ensure that the error
+ message regarding -fdollar-ok gets printed.
+ (gfc_match_common): Avoid multiple freeing.
+
2013-07-16 Tobias Burnus <burnus@net-b.de>
PR fortran/57912
@@ -149,7 +157,7 @@
PR fortran/37336
* trans-decl.c (init_intent_out_dt): Call finalizer
- when approriate.
+ when appropriate.
2013-06-08 Tobias Burnus <burnus@net-b.de>
@@ -650,7 +658,7 @@
2013-04-08 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/56782
- * frontend-passes.c (callback_reduction): Dont't do
+ * frontend-passes.c (callback_reduction): Don't do
any simplification if there is only a single element
which has an iterator.
diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c
index 2533584..7f30156 100644
--- a/gcc/fortran/match.c
+++ b/gcc/fortran/match.c
@@ -556,8 +556,8 @@ gfc_match_name (char *buffer)
if (c == '$' && !gfc_option.flag_dollar_ok)
{
- gfc_error ("Invalid character '$' at %C. Use -fdollar-ok to allow it "
- "as an extension");
+ gfc_fatal_error ("Invalid character '$' at %L. Use -fdollar-ok to allow "
+ "it as an extension", &old_loc);
return MATCH_ERROR;
}
@@ -4520,10 +4520,6 @@ syntax:
gfc_syntax_error (ST_COMMON);
cleanup:
- if (old_blank_common)
- old_blank_common->common_next = NULL;
- else
- gfc_current_ns->blank_common.head = NULL;
gfc_free_array_spec (as);
return MATCH_ERROR;
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 75f75de..2d6ece4 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2013-07-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/57895
+ * gfortran.dg/dollar_sym_3.f: New.
+ * gfortran.dg/dollar_sym_1.f90: Update dg-error.
+
2013-07-16 Iain Sandoe <iain@codesourcery.com>
PR target/55654
diff --git a/gcc/testsuite/gfortran.dg/dollar_sym_1.f90 b/gcc/testsuite/gfortran.dg/dollar_sym_1.f90
index 37f0f88..6c0dfcb 100644
--- a/gcc/testsuite/gfortran.dg/dollar_sym_1.f90
+++ b/gcc/testsuite/gfortran.dg/dollar_sym_1.f90
@@ -3,7 +3,7 @@
! 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 '\\$'" }
+ INTEGER PLT$C_COMMAND ! Unreachable as the error above is now fatal
+ PARAMETER (PLT$B_OPC=0) ! Unreachable as the error above is now fatal
+ common /abc$def/ PLT$C_HOUSTPIX, PLT$C_COMMAND ! Unreachable as the error above is now fatal
end
diff --git a/gcc/testsuite/gfortran.dg/dollar_sym_3.f b/gcc/testsuite/gfortran.dg/dollar_sym_3.f
new file mode 100644
index 0000000..7cf2047
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/dollar_sym_3.f
@@ -0,0 +1,10 @@
+! { dg-do compile }
+!
+! PR fortran/57895
+!
+! Contributed by Vittorio Zecca
+!
+c Segmentation fault in gfc_restore_last_undo_checkpoint
+ COMMON RADE3155V62$JUTMU9L9E(3,3,3), LADE314JUTMP9 ! { dg-error "Invalid character '\\$' at .1.. Use -fdollar-ok to allow it as an extension" }
+ +LHEDDJNTMP9L(3,3,3)
+ end