From fd97aeb494cdcffe0d21e7f15ab4593662e065bd Mon Sep 17 00:00:00 2001
From: Eric Botcazou <ebotcazou@adacore.com>
Date: Tue, 25 May 2021 18:30:29 +0200
Subject: [PATCH] Remove stalled TREE_READONLY flag on automatic variable

gcc/
	* gimplify.c (gimplify_decl_expr): Clear TREE_READONLY on the DECL
	when really creating an initialization statement for it.
---
 gcc/gimplify.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index b62ea0efc1cb..ed825a93aa1b 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -1828,6 +1828,9 @@ gimplify_decl_expr (tree *stmt_p, gimple_seq *seq_p)
 	      init = build2 (INIT_EXPR, void_type_node, decl, init);
 	      gimplify_and_add (init, seq_p);
 	      ggc_free (init);
+	      /* Clear TREE_READONLY if we really have an initialization.  */
+	      if (!DECL_INITIAL (decl))
+		TREE_READONLY (decl) = 0;
 	    }
 	  else
 	    /* We must still examine initializers for static variables
-- 
GitLab