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

--- Comment #5 from Martin Liška <marxin at gcc dot gnu.org> ---
Unfortunately the test ICE for couple of MPX test-cases compiled with LTO (I
wish we had MPX already removed). So:

$ gcc /home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/lto/pr66221_*.c -flto
-mmpx -fcheck-pointer-bounds -O2 
during IPA pass: comdats
lto1: internal compiler error: in ipa_comdats, at ipa-comdats.c:355
0x19c154c ipa_comdats
        ../../gcc/ipa-comdats.c:355
0x19c1744 execute
        ../../gcc/ipa-comdats.c:415

Problem is that one MPX clone is identified as nothrow, and then we do not
merge decls:

Merging nodes for test1.chkp. Candidates:
test1.chkp/5 (test1.chkp) @0x7ffff65af2e0
  Type: function
  Visibility: external public
  next sharing asm name: 12
  References: 
  Referring: 
  Read from file: pr66221_0.o
  First run: 0
  Function flags:
  Called by: main.chkp/2 (1073741825 (estimated locally),1.00 per call) 
  Calls: 
  Is instrumented version.
test1.chkp/12 (test1.chkp) @0x7ffff65af8a0
  Type: function definition analyzed
  Visibility: externally_visible prevailing_def_ironly public artificial
  previous sharing asm name: 5
  References: 
  Referring: test1/11 (chkp)
  Read from file: pr66221_1.o
  First run: 0
  Function flags: count: 1073741826 (estimated locally)
  Called by: test1/11 
  Calls: __builtin_ia32_bndcu/16 (1073741825 (estimated locally),1.00 per call)
__builtin_ia32_bndcl/15 (1073741825 (estimated locally),1.00 per call) 
  Is instrumented version.
Not merging decls; DECL_ATTRIBUTES mismatch

And then we ICE in ipa-comdat. Ideas how to handle that? Should I somehow
ignore chkp clones in lto_symtab_merge_p?

Reply via email to