diff options
author | Jan Hubicka <jh@suse.cz> | 2020-03-19 17:12:56 +0100 |
---|---|---|
committer | Jan Hubicka <jh@suse.cz> | 2020-03-19 17:12:56 +0100 |
commit | f22712bd8a2ed57d3cc7e6fa92730bd5852e27b3 (patch) | |
tree | b1cc53660ac9b44ff141b8908117343bba6e1b3f /gcc/ipa-inline.c | |
parent | c8429c2aba80f845939ffa6b2cfe8a0be1b50078 (diff) | |
download | gcc-f22712bd8a2ed57d3cc7e6fa92730bd5852e27b3.zip gcc-f22712bd8a2ed57d3cc7e6fa92730bd5852e27b3.tar.gz gcc-f22712bd8a2ed57d3cc7e6fa92730bd5852e27b3.tar.bz2 |
Fix inliner ICE on alias with flatten attribute [PR92372]
gcc/ChangeLog:
2020-03-19 Jan Hubicka <hubicka@ucw.cz>
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 <hubicka@ucw.cz>
PR ipa/92372
* gcc.c-torture/pr92372.c: New test.
* gcc.dg/attr-flatten-1.c: New test.
Diffstat (limited to 'gcc/ipa-inline.c')
-rw-r--r-- | gcc/ipa-inline.c | 3 |
1 files changed, 3 insertions, 0 deletions
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]; |