mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-19 12:44:39 +08:00
re PR fortran/43029 (enum_5.f90 ICE under valgrind)
PR fortran/43029 * decl.c (enumerator_decl): Don't call gfc_free_enum_history here. (gfc_match_enumerator_def): But here whenever enumerator_decl returns MATCH_ERROR. From-SVN: r156709
This commit is contained in:
parent
4094aee8bf
commit
01e64c3dc7
@ -1,3 +1,11 @@
|
||||
2010-02-11 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR fortran/43029
|
||||
* decl.c (enumerator_decl): Don't call gfc_free_enum_history
|
||||
here.
|
||||
(gfc_match_enumerator_def): But here whenever enumerator_decl returns
|
||||
MATCH_ERROR.
|
||||
|
||||
2010-02-10 Joost VandeVondele <jv244@cam.ac.uk>
|
||||
Tobias Burnus <burnus@net-b.de>
|
||||
|
||||
|
@ -7124,10 +7124,9 @@ enumerator_decl (void)
|
||||
|
||||
if (initializer == NULL || initializer->ts.type != BT_INTEGER)
|
||||
{
|
||||
gfc_error("ENUMERATOR %L not initialized with integer expression",
|
||||
&var_locus);
|
||||
gfc_error ("ENUMERATOR %L not initialized with integer expression",
|
||||
&var_locus);
|
||||
m = MATCH_ERROR;
|
||||
gfc_free_enum_history ();
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
@ -7193,7 +7192,10 @@ gfc_match_enumerator_def (void)
|
||||
{
|
||||
m = enumerator_decl ();
|
||||
if (m == MATCH_ERROR)
|
||||
goto cleanup;
|
||||
{
|
||||
gfc_free_enum_history ();
|
||||
goto cleanup;
|
||||
}
|
||||
if (m == MATCH_NO)
|
||||
break;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user