gcc/ChangeLog:
PR middle-end/97172
* attribs.c (attr_access::free_lang_data): Clear attribute arg spec
from function arguments.
gcc/c/ChangeLog:
PR middle-end/97172
* c-decl.c (free_attr_access_data): Clear attribute arg spec.
gcc/testsuite/ChangeLog:
PR middle-end/97172
* gcc.dg/pr97172-2.c: New test.
*pvbnd = NULL_TREE;
}
}
+
+ for (tree argspec = attrs; (argspec = lookup_attribute ("arg spec", argspec));
+ argspec = TREE_CHAIN (argspec))
+ {
+ /* Same as above. */
+ tree *pvblist = &TREE_VALUE (argspec);
+ *pvblist = NULL_TREE;
+ }
}
/* Defined in attr_access. */
/* Iterate over all functions declared in the translation unit. */
FOR_EACH_FUNCTION (n)
{
+ for (tree parm = DECL_ARGUMENTS (n->decl); parm; parm = TREE_CHAIN (parm))
+ if (tree attrs = DECL_ATTRIBUTES (parm))
+ attr_access::free_lang_data (attrs);
+
tree fntype = TREE_TYPE (n->decl);
if (!fntype)
continue;
--- /dev/null
+/* PR middle-end/97172 - ICE: tree code ‘ssa_name’ is not supported in LTO
+ streams
+ { dg-do link }
+ { dg-options "-Wall -flto -fpic -shared" }
+ { dg-require-effective-target fpic }
+ { dg-require-effective-target lto } */
+
+#include "pr97172.c"