This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Fix bootstrap issue with gcc 4.1
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: gcc-patches at gcc dot gnu dot org
- Date: Wed, 3 May 2017 18:18:08 +0200
- Subject: Fix bootstrap issue with gcc 4.1
- Authentication-results: sourceware.org; auth=none
Hi,
my change to sreals makes GCC to be miscompiled with GCC 4.1 and -O0. This is
related to fact that using sreal implies a non-trivial constructor and thus
ggc_cleared_alloc is no longer standard compliant. I however do not quite understand
why GCC 4.1 manages to misoptimize this code but I have checked that this helps
to fix the issue and hopefully will re-start our periodic testers.
Bootstrapped x86_64-linux and comitted.
Honza
Index: ipa-inline.h
===================================================================
--- ipa-inline.h (revision 247549)
+++ ipa-inline.h (working copy)
@@ -175,6 +175,16 @@ struct GTY(()) inline_summary
int growth;
/* Number of SCC on the beginning of inlining process. */
int scc_no;
+
+ void inline_summary ()
+ : estimated_self_stack_size (0), self_size (0), self_time (0), min_size (0),
+ inlinable (false), contains_cilk_spawn (false), single_caller (false),
+ fp_expressions (false), estimated_stack_size (false),
+ stack_frame_offset (false), time (0), size (0), conds (NULL),
+ entry (NULL), loop_iterations (NULL), loop_stride (NULL),
+ array_ined (NULL), growth (0), scc_no (0)
+ {
+ }
};
class GTY((user)) inline_summary_t: public function_summary <inline_summary *>
@@ -185,7 +195,7 @@ public:
static inline_summary_t *create_ggc (symbol_table *symtab)
{
- struct inline_summary_t *summary = new (ggc_cleared_alloc <inline_summary_t> ())
+ struct inline_summary_t *summary = new (ggc_alloc <inline_summary_t> ())
inline_summary_t(symtab, true);
summary->disable_insertion_hook ();
return summary;