Set DECL_ARTIFICIAL on gfortran internal variables.
authorThomas Koenig <tkoenig@gcc.gnu.org>
Sun, 20 Dec 2020 15:27:01 +0000 (16:27 +0100)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Sun, 20 Dec 2020 15:27:01 +0000 (16:27 +0100)
It seems we sometimes use DECL_ARTIFICIAL as choosing between
different code paths.  In order not to make -fdebug-aux-vars
do different things, set DECL_ARTIFICIAL on the variables to
avoid these different code paths (and the corresponding
regressions).

gcc/fortran/ChangeLog:

* trans.c (create_var_debug_raw): Set DECL_ARTIFICIAL
on variables.

gcc/fortran/trans.c

index 7ee2bd159fc9184c46f03996e2e5a23c1f357cf0..09104f35ee7b9cc09a11c3258793fb9386e09dc8 100644 (file)
@@ -97,6 +97,9 @@ create_var_debug_raw (tree type, const char *prefix)
 
   t = build_decl (input_location, VAR_DECL, get_identifier (name_buf), type);
 
+  /* Not setting this causes some regressions.  */
+  DECL_ARTIFICIAL (t) = 1;
+
   /* We want debug info for it.  */
   DECL_IGNORED_P (t) = 0;
   /* It should not be nameless.  */