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;