https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104522

--- Comment #5 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Richard Biener from comment #4)
> But I do wonder whether real_from_target needs fixing to handle invalid
> input gracefully which is ultimatively decode_ieee_extended?

long double foo (void)
{
  union { int i[4]; long double ld; } __tmp
    = { .i = { 0x1, 0, 0x4000, 0 } };
  return __tmp.ld;
}

This will fail compilation (-O -dP), without -dP (which avoids printing), the
constant in the memory is wrong:

.LC0:
        .long   1
        .long   0
        .long   0  <--- here should be 16384
        .long   0

Reply via email to