aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorPaul Thomas <pault@gcc.gnu.org>2005-10-12 20:05:04 +0000
committerPaul Thomas <pault@gcc.gnu.org>2005-10-12 20:05:04 +0000
commit96b95725509f2a63c2be09e9953a50d6f060cbea (patch)
treeabc1cad029a8771cdb8273bbb5c57a8dfdc1284f /gcc/fortran
parent4def9c5307aa70afe92896aa4e2e4f350df4ae74 (diff)
downloadgcc-96b95725509f2a63c2be09e9953a50d6f060cbea.zip
gcc-96b95725509f2a63c2be09e9953a50d6f060cbea.tar.gz
gcc-96b95725509f2a63c2be09e9953a50d6f060cbea.tar.bz2
re PR fortran/20847 (common block object may not have save attribute)
2005-10-12 Paul Thomas <pault@gcc.gnu.org> PR fortran/20847 PR fortran/20856 * symbol.c (check_conflict): Prevent common variables and function results from having the SAVE attribute,as required by the standard. 2005-10-12 Paul Thomas <pault@gcc.gnu.org> PR fortran/20847 gfortran.dg/save_common.f90: New test. PR fortran/20856 gfortran.dg/save_result.f90: New test. From-SVN: r105325
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog8
-rw-r--r--gcc/fortran/symbol.c3
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index b7eec33..a02586f 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,5 +1,13 @@
2005-10-12 Paul Thomas <pault@gcc.gnu.org>
+ PR fortran/20847
+ PR fortran/20856
+ * symbol.c (check_conflict): Prevent common variables and
+ function results from having the SAVE attribute,as required
+ by the standard.
+
+2005-10-12 Paul Thomas <pault@gcc.gnu.org>
+
PR fortran/24207
* resolve.c (resolve_symbol): Exclude use and host associated
symbols from the test for private objects in a public namelist.
diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c
index aceac5b..98ce66f 100644
--- a/gcc/fortran/symbol.c
+++ b/gcc/fortran/symbol.c
@@ -322,6 +322,9 @@ check_conflict (symbol_attribute * attr, const char * name, locus * where)
conf (in_common, dummy);
conf (in_common, allocatable);
conf (in_common, result);
+ conf (in_common, save);
+ conf (result, save);
+
conf (dummy, result);
conf (in_equivalence, use_assoc);