From 3bf9ef1bc4eb7b28998569beecc1c1c750cf5b7a Mon Sep 17 00:00:00 2001 From: Mikael Morin Date: Wed, 6 Oct 2010 14:47:40 +0000 Subject: primary.c (gfc_match_structure_constructor): Invert the assert logic. 2010-10-06 Mikael Morin * primary.c (gfc_match_structure_constructor): Invert the assert logic. From-SVN: r165033 --- gcc/fortran/ChangeLog | 4 ++++ gcc/fortran/primary.c | 5 ++--- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'gcc/fortran') diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index c75bb8b..8617547 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,9 @@ 2010-10-06 Mikael Morin + * primary.c (gfc_match_structure_constructor): Invert the assert logic. + +2010-10-06 Mikael Morin + * primary.c (gfc_free_structure_ctor_component): Also free the component structure itself. diff --git a/gcc/fortran/primary.c b/gcc/fortran/primary.c index 9d0deec..054c66f 100644 --- a/gcc/fortran/primary.c +++ b/gcc/fortran/primary.c @@ -2414,8 +2414,9 @@ gfc_match_structure_constructor (gfc_symbol *sym, gfc_expr **result, /* No component should be left, as this should have caused an error in the loop constructing the component-list (name that does not correspond to any component in the structure definition). */ - if (comp_head && sym->attr.extension) + if (comp_head) { + gcc_assert (sym->attr.extension); for (comp_iter = comp_head; comp_iter; comp_iter = comp_iter->next) { gfc_error ("component '%s' at %L has already been set by a " @@ -2424,8 +2425,6 @@ gfc_match_structure_constructor (gfc_symbol *sym, gfc_expr **result, } goto cleanup; } - else - gcc_assert (!comp_head); e = gfc_get_structure_constructor_expr (BT_DERIVED, 0, &where); e->ts.u.derived = sym; -- cgit v1.1