https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49278

--- Comment #24 from kargl at gcc dot gnu.org ---
(In reply to anlauf from comment #21)
> 
> And after fixing an obvious NULL pointer dereference,
> 
> diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c
> index 37a0c85fa30..783a0bbddcc 100644
> --- a/gcc/fortran/trans-decl.c
> +++ b/gcc/fortran/trans-decl.c
> @@ -5520,7 +5520,7 @@ check_constant_initializer (gfc_expr *expr,
> gfc_typespec *ts, bool array,
>         return false;
>        cm = expr->ts.u.derived->components;
>        for (c = gfc_constructor_first (expr->value.constructor);
> -          c; c = gfc_constructor_next (c), cm = cm->next)
> +          c && cm; c = gfc_constructor_next (c), cm = cm->next)
>         {
>           if (!c->expr || cm->attr.allocatable)
>             continue;
> 

Looks like the patch from comment #2 that I posted 9 years ago. LoL.
Bug must not hit real code too often as no one has fixed it.

Reply via email to