diff options
author | Fritz Reese <fritzoreese@gmail.com> | 2016-08-23 19:33:46 +0000 |
---|---|---|
committer | Fritz Reese <foreese@gcc.gnu.org> | 2016-08-23 19:33:46 +0000 |
commit | cfe37db47a363d243f4e2e0a7d6b9b1bf429934b (patch) | |
tree | 80862b35f5b1ead92f59deb4d9d9c57f7a4dacc1 /gcc | |
parent | c0ccddb46c11be096ab3b843b5b48104a11a7485 (diff) | |
download | gcc-cfe37db47a363d243f4e2e0a7d6b9b1bf429934b.zip gcc-cfe37db47a363d243f4e2e0a7d6b9b1bf429934b.tar.gz gcc-cfe37db47a363d243f4e2e0a7d6b9b1bf429934b.tar.bz2 |
decl.c (gfc_match_structure_decl): Make gfc_structure_id static.
2016-08-23 Fritz Reese <fritzoreese@gmail.com>
gcc/fortran/
* decl.c (gfc_match_structure_decl): Make gfc_structure_id static.
gcc/testsuite/gfortran.dg/
* dec_structure_12.f90: New testcase.
From-SVN: r239709
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/fortran/decl.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/dec_structure_12.f90 | 27 |
4 files changed, 36 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index d3273a8..6dc44e6 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,9 @@ 2016-08-23 Fritz Reese <fritzoreese@gmail.com> + * decl.c (gfc_match_structure_decl): Make gfc_structure_id static. + +2016-08-23 Fritz Reese <fritzoreese@gmail.com> + * interface.c (compare_components): Fix typo in name check conditional. 2016-08-22 Steven G. Kargl <kargl@gcc.gnu.org> diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c index ce5ebb7..ce7254f 100644 --- a/gcc/fortran/decl.c +++ b/gcc/fortran/decl.c @@ -8473,7 +8473,7 @@ match gfc_match_structure_decl (void) { /* Counter used to give unique internal names to anonymous structures. */ - int gfc_structure_id = 0; + static unsigned int gfc_structure_id = 0; char name[GFC_MAX_SYMBOL_LEN + 1]; gfc_symbol *sym; match m; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 8dcf3d7..4c45e35 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2016-08-23 Fritz Reese <fritzoreese@gmail.com> + + * gfortran.dg/dec_structure_12.f90: New testcase. + 2016-08-23 Dominik Vogt <vogt@linux.vnet.ibm.com> * gcc.target/s390/insv-1.c: Fix test when running with -m31. diff --git a/gcc/testsuite/gfortran.dg/dec_structure_12.f90 b/gcc/testsuite/gfortran.dg/dec_structure_12.f90 new file mode 100644 index 0000000..b6cc5aa --- /dev/null +++ b/gcc/testsuite/gfortran.dg/dec_structure_12.f90 @@ -0,0 +1,27 @@ +! { dg-do "compile" } +! { dg-options "-fdec-structure" } +! +! Test a regression where multiple anonymous structures failed to +! receive unique internal names. +! + +implicit none + +structure /s/ + + structure record0 ! (2) + integer i + end structure + + structure record1 ! regression: Type definition was already defined at (2) + real r + end structure + +end structure + +record /s/ var + +var.record0.i = 0 +var.record1.r = 0.0 + +end |