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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|ipa                         |c++
            Summary|ICE in                      |static anonymous union does
                   |get_partitioning_class, at  |not work
                   |symtab.c:1966               |
           Keywords|                            |link-failure

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
I don't know if this is a front-end issue or a middle-end issue.
The problem is unrelated to LTO really.
Take:
static union {
  int yz;
  int t;
};

struct ra {
  static int &dy;
};

int &ra::dy =  (yz);

bool
bm ()
{
  return ra::dy == yz;
}

int main(void)
{
    return !bm();
}
-------- CUT -----
With just -g0, we get a link failure:
/opt/compiler-explorer/gcc-trunk-20210922/bin/../lib/gcc/x86_64-linux-gnu/12.0.0/../../../../x86_64-linux-gnu/bin/ld:
/tmp/ccBdpNQh.o:(.rodata+0x0): undefined reference to `yz'


4.1.2 produced some interesting assembly too:

        .local  yz
        .comm   yz,4,4
        .local  yz
        .comm   yz,4,4

Reply via email to