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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[16 Regression][gcn] Since  |[14/15/16 Regression] Since
                   |r16-2595-gf1c80147641783:   |r16-2595-gf1c80147641783:
                   |link-time error:            |link-time error:
                   |libm_a-e_atan2.o):(.rodata. |libm_a-e_atan2.o):(.rodata.
                   |cst32): SHF_MERGE section   |cst32): SHF_MERGE section
                   |size (56) must be a         |size (56) must be a
                   |multiple of sh_entsize (32) |multiple of sh_entsize (32)
   Target Milestone|16.0                        |14.4
          Component|target                      |middle-end
             Target|gcn                         |gcn i?86

--- Comment #10 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Found a C++ testcase which shows the same issue starting in GCC 14
(r14-1500-g4d935f52b0d5c0), happens on i?86 (or x86_64 with -m32):
```
#include <initializer_list>
std::initializer_list<long double> a = {0.3l};
```

We get:
```
        .section        .rodata.cst16,"aM",@progbits,16
        .align 16
        .type   _ZGR1a_, @object
        .size   _ZGR1a_, 12
_ZGR1a_:
        .long   -1717986918
        .long   -1717986919
        .long   16381
        .text
```
Which is wrong and missed the .align there.

The patch I have fixes both.

Reply via email to