diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2019-11-13 10:05:14 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2019-11-13 09:05:14 +0000 |
commit | d4b44b834e3ac1b92ffb165e7bdaf641a211c34b (patch) | |
tree | 0c66c77793960a0e851bba275f631581c0dc0749 | |
parent | e4020b28d02a00d478a3a769855ae6a8d9cc6b26 (diff) |
ipa.c (cgraph_build_static_cdtor): Pass optimization_default_node and target_option_default_node to get...
* ipa.c (cgraph_build_static_cdtor): Pass optimization_default_node
and target_option_default_node to get -fprofile-generate ctors working
right with LTO.
From-SVN: r278123
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/ipa.c | 9 |
2 files changed, 14 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9054178018e..fbf586dc1b5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2019-11-13 Jan Hubicka <hubicka@ucw.cz> + + * ipa.c (cgraph_build_static_cdtor): Pass optimization_default_node + and target_option_default_node to get -fprofile-generate ctors working + right with LTO. + 2019-11-13 Richard Sandiford <richard.sandiford@arm.com> * tree-vectorizer.h (vect_nop_conversion_p): Declare. diff --git a/gcc/ipa.c b/gcc/ipa.c index 934e49785f3..0c92980db46 100644 --- a/gcc/ipa.c +++ b/gcc/ipa.c @@ -914,7 +914,14 @@ cgraph_build_static_cdtor_1 (char which, tree body, int priority, bool final, void cgraph_build_static_cdtor (char which, tree body, int priority) { - cgraph_build_static_cdtor_1 (which, body, priority, false, NULL, NULL); + /* FIXME: We should be able to + gcc_assert (!in_lto_p); + because at LTO time the global options are not safe to use. + Unfortunately ASAN finish_file will produce constructors late and they + may lead to surprises. */ + cgraph_build_static_cdtor_1 (which, body, priority, false, + optimization_default_node, + target_option_default_node); } /* When target does not have ctors and dtors, we call all constructor |