diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2019-11-13 14:29:27 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2019-11-13 13:29:27 +0000 |
commit | 2895b172d56c355373b64517a3298a01a2f10ec0 (patch) | |
tree | e197a46b63ed6c23cdfd2cf7bdb2f63b795464ad /gcc | |
parent | 237957cc2c1818f30207f02747a880bd1cd28d0b (diff) | |
download | gcc-2895b172d56c355373b64517a3298a01a2f10ec0.zip gcc-2895b172d56c355373b64517a3298a01a2f10ec0.tar.gz gcc-2895b172d56c355373b64517a3298a01a2f10ec0.tar.bz2 |
ipa-inline.c (ipa_inline): Check that function is defined before flattening.
* ipa-inline.c (ipa_inline): Check that function is defined before
flattening.
* gcc.c-torture/compile/flatten.c: New testcase.
From-SVN: r278139
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ipa-inline.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/flatten.c | 5 |
4 files changed, 17 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0e5560e..f637442 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2019-11-13 Jan Hubicka <hubicka@ucw.cz> + + * ipa-inline.c (ipa_inline): Check that function is defined before + flattening. + 2019-11-13 Andrew Stubbs <ams@codesourcery.com> Julian Brown <julian@codesourcery.com> diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index df6f991..f3e880c 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -2564,8 +2564,9 @@ ipa_inline (void) for (i = nnodes - 1, j = i; i >= 0; i--) { node = order[i]; - if (lookup_attribute ("flatten", - DECL_ATTRIBUTES (node->decl)) != NULL) + if (node->definition + && lookup_attribute ("flatten", + DECL_ATTRIBUTES (node->decl)) != NULL) order[j--] = order[i]; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1727bf0..cd38237 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2019-11-13 Jan Hubicka <hubicka@ucw.cz> + + * gcc.c-torture/compile/flatten.c: New testcase. + 2019-11-13 Tobias Burnus <tobias@codesourcery.com> PR fortran/92470 diff --git a/gcc/testsuite/gcc.c-torture/compile/flatten.c b/gcc/testsuite/gcc.c-torture/compile/flatten.c new file mode 100644 index 0000000..73042be --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/flatten.c @@ -0,0 +1,5 @@ +int you_shall_not_flatten_me () __attribute__ ((flatten)); +main() +{ + you_shall_not_flatten_me (); +} |