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;