diff options
author | Tobias Burnus <burnus@net-b.de> | 2006-11-14 16:35:36 +0100 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2006-11-14 16:35:36 +0100 |
commit | 9c213349ffed7416934795eb4e2e910c0f9228f0 (patch) | |
tree | bc89f3bb9f522be7411c82c18c7feb624bc25323 /gcc/fortran | |
parent | 995a56972736cae67dc483021ac543d7e45f8bff (diff) | |
download | gcc-9c213349ffed7416934795eb4e2e910c0f9228f0.zip gcc-9c213349ffed7416934795eb4e2e910c0f9228f0.tar.gz gcc-9c213349ffed7416934795eb4e2e910c0f9228f0.tar.bz2 |
re PR fortran/29657 (Don't allow SAVE for functions)
fortran/
2006-11-14 Tobias Burnus <burnus@net-b.de>
PR fortran/29657
* symbol.c (check_conflict): Add further conflicts.
testsuite/
2006-11-14 Tobias Burnus <burnus@net-b.de>
PR fortran/29657
* gfortran.dg/conflicts.f90: Add.
From-SVN: r118812
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/symbol.c | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 2ba9e87..e3e1351 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2006-11-14 Tobias Burnus <burnus@net-b.de> + + PR fortran/29657 + * symbol.c (check_conflict): Add further conflicts. + 2006-11-13 Jakub Jelinek <jakub@redhat.com> PR fortran/29759 diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c index fce6db4..6a5598d 100644 --- a/gcc/fortran/symbol.c +++ b/gcc/fortran/symbol.c @@ -318,6 +318,8 @@ check_conflict (symbol_attribute * attr, const char * name, locus * where) } } + conf (dummy, entry); + conf (dummy, intrinsic); conf (dummy, save); conf (dummy, threadprivate); conf (pointer, target); @@ -427,6 +429,7 @@ check_conflict (symbol_attribute * attr, const char * name, locus * where) case FL_BLOCK_DATA: case FL_MODULE: case FL_LABEL: + conf2 (dimension); conf2 (dummy); conf2 (save); conf2 (pointer); @@ -448,15 +451,16 @@ check_conflict (symbol_attribute * attr, const char * name, locus * where) case FL_PROCEDURE: conf2 (intent); + conf2(save); if (attr->subroutine) { - conf2(save); conf2(pointer); conf2(target); conf2(allocatable); conf2(result); conf2(in_namelist); + conf2(dimension); conf2(function); conf2(threadprivate); } |