[Bug debug/39355] [4.4 Regression] Revision 144529 miscompiled libcpp/expr.c
hjl dot tools at gmail dot com
gcc-bugzilla@gcc.gnu.org
Sun Mar 15 17:37:00 GMT 2009
------- Comment #21 from hjl dot tools at gmail dot com 2009-03-15 17:37 -------
(In reply to comment #19)
> I did find that the ICE doesn't occur with the following change to
> libcpp/expr.c:
>
> Index: expr.c
> ===================================================================
> --- expr.c (revision 144529)
> +++ expr.c (working copy)
> @@ -39,7 +39,7 @@
> /* Some simple utility routines on double integers. */
> #define num_zerop(num) ((num.low | num.high) == 0)
> #define num_eq(num1, num2) (num1.low == num2.low && num1.high == num2.high)
> -static bool num_positive (cpp_num, size_t);
> +static bool num_positive (cpp_num, size_t) __attribute__((noinline));
> static bool num_greater_eq (cpp_num, cpp_num, size_t);
> static cpp_num num_trim (cpp_num, size_t);
> static cpp_num num_part_mul (cpp_num_part, cpp_num_part);
>
Since revision 144529:
http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00000.html
is the cause and it is inline related, I suggest you use revision
144529 as base and revert the tree-inline.c change to see if it fixes
libcpp/expr.c.
--
hjl dot tools at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[4.4 Regression] ICE at |[4.4 Regression] Revision
|dwarf2out.c:10353 in |144529 miscompiled
|loc_descriptor_from_tree_1 |libcpp/expr.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39355
More information about the Gcc-bugs
mailing list