From f22712bd8a2ed57d3cc7e6fa92730bd5852e27b3 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Thu, 19 Mar 2020 17:12:56 +0100 Subject: Fix inliner ICE on alias with flatten attribute [PR92372] gcc/ChangeLog: 2020-03-19 Jan Hubicka PR ipa/92372 * cgraphunit.c (process_function_and_variable_attributes): warn for flatten attribute on alias. * ipa-inline.c (ipa_inline): Do not ICE on flatten attribute on alias. gcc/testsuite/ChangeLog: 2020-03-19 Jan Hubicka PR ipa/92372 * gcc.c-torture/pr92372.c: New test. * gcc.dg/attr-flatten-1.c: New test. --- gcc/ipa-inline.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gcc/ipa-inline.c') diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index 6b6ba9a..302ce16 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -2634,6 +2634,9 @@ ipa_inline (void) { node = order[i]; if (node->definition + /* Do not try to flatten aliases. These may happen for example when + creating local aliases. */ + && !node->alias && lookup_attribute ("flatten", DECL_ATTRIBUTES (node->decl)) != NULL) order[j--] = order[i]; -- cgit v1.1