https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88228
kargl at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |kargl at gcc dot gnu.org
--- Comment #3 from kargl at gcc dot gnu.org ---
(In reply to kargl from comment #2)
> Index: gcc/fortran/expr.c
> ===================================================================
> --- gcc/fortran/expr.c (revision 266386)
> +++ gcc/fortran/expr.c (working copy)
> @@ -2688,6 +2688,9 @@ check_transformational (gfc_expr *e)
> static match
> check_null (gfc_expr *e)
> {
> + if (e->expr_type == EXPR_CONSTANT)
> + return MATCH_NO;
> +
> if (strcmp ("null", e->symtree->n.sym->name) != 0)
> return MATCH_NO;
>
> @@ -2793,10 +2796,15 @@ gfc_check_init_expr (gfc_expr *e)
> && (m = check_transformational (e)) == MATCH_NO
> && (m = check_elemental (e)) == MATCH_NO)
> {
> - gfc_error ("Intrinsic function %qs at %L is not permitted "
> - "in an initialization expression",
> - e->symtree->n.sym->name, &e->where);
> - m = MATCH_ERROR;
> + if (e->expr_type == EXPR_CONSTANT)
> + return true;
> + else
> + {
> + gfc_error ("Intrinsic function %qs at %L is not permitted "
> + "in an initialization expression",
> + e->symtree->n.sym->name, &e->where);
> + m = MATCH_ERROR;
> + }
> }
>
> if (m == MATCH_ERROR)
Patch is insufficient new patch is sitting my tree.