summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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