summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2019-11-13 10:05:14 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2019-11-13 09:05:14 +0000
commitd4b44b834e3ac1b92ffb165e7bdaf641a211c34b (patch)
tree0c66c77793960a0e851bba275f631581c0dc0749
parente4020b28d02a00d478a3a769855ae6a8d9cc6b26 (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/ChangeLog6
-rw-r--r--gcc/ipa.c9
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