public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/63795] New: Noreturn failure (test case builtin-noret-1.c)
@ 2014-11-09 15:20 fxcoudert at gcc dot gnu.org
  2014-11-09 15:25 ` [Bug c/63795] ipa-icf ICE with noreturn functions " fxcoudert at gcc dot gnu.org
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: fxcoudert at gcc dot gnu.org @ 2014-11-09 15:20 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 63795
           Summary: Noreturn failure (test case builtin-noret-1.c)
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: fxcoudert at gcc dot gnu.org

On x86_64-apple-darwin14, the following noreturn-related testcases fail with
internal compiler errors, at optimization levels -Os, -O2 and above:

gcc.dg/torture/builtin-noret-1.c
gcc.dg/torture/builtin-noret-2.c


A reduced testcase is:

---------------------------
#pragma weak _exit
#pragma weak _Exit

void _exit (int i)
{
  __builtin_abort ();
}

void _Exit (int i)
{
  __builtin_abort ();
}
---------------------------


The issue is related to to ipa-icf, as demonstrated by the backtrace:

* thread #1: tid = 0x68e3f7, 0x00000001007a790a
cc1`ipa_merge_profiles(dst=0x0000000000000000, src=0x0000000142c12498) + 10 at
ipa-utils.c:413, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS
(code=1, address=0x2)
    frame #0: 0x00000001007a790a cc1`ipa_merge_profiles(dst=0x0000000000000000,
src=0x0000000142c12498) + 10 at ipa-utils.c:413
   410       bool match = true;
   411     
   412       if (!src->definition
-> 413           || !dst->definition)
   414         return;
   415       if (src->frequency < dst->frequency)
   416         src->frequency = dst->frequency;


(lldb) bt
* thread #1: tid = 0x68e3f7, 0x00000001007a790a
cc1`ipa_merge_profiles(dst=0x0000000000000000, src=0x0000000142c12498) + 10 at
ipa-utils.c:413, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS
(code=1, address=0x2)
  * frame #0: 0x00000001007a790a cc1`ipa_merge_profiles(dst=0x0000000000000000,
src=0x0000000142c12498) + 10 at ipa-utils.c:413
    frame #1: 0x000000010079300b
cc1`ipa_icf::sem_function::merge(this=<unavailable>, alias_item=<unavailable>)
+ 667 at ipa-icf.c:683
    frame #2: 0x000000010079895f
cc1`ipa_icf::sem_item_optimizer::merge_classes(this=<unavailable>,
prev_class_count=<unavailable>) + 879 at ipa-icf.c:2288
    frame #3: 0x000000010079d052
cc1`ipa_icf::sem_item_optimizer::execute(this=0x0000000141e1cfd0) + 338 at
ipa-icf.c:1648
    frame #4: 0x000000010079de52
cc1`ipa_icf::pass_ipa_icf::execute(this=<unavailable>, (null)=<unavailable>) +
18 at ipa-icf.c:2366
    frame #5: 0x000000010088dd7b cc1`execute_one_pass(pass=0x0000000141e0ec50)
+ 395 at passes.c:2269
    frame #6: 0x000000010088ea5a
cc1`execute_ipa_pass_list(pass=0x0000000141e0ec50) + 154 at passes.c:2663
    frame #7: 0x00000001004d8ec9 cc1`symbol_table::compile() + 197 at
cgraphunit.c:2088
    frame #8: 0x00000001004d8e04
cc1`symbol_table::compile(this=0x0000000142c05000) + 1188
    frame #9: 0x00000001004dad3e
cc1`symbol_table::finalize_compilation_unit(this=0x0000000142c05000) + 110 at
cgraphunit.c:2325
    frame #10: 0x0000000100021109 cc1`c_write_global_declarations() + 601 at
c-decl.c:10779
    frame #11: 0x0000000100968d4f cc1`compile_file + 143 at toplev.c:583
    frame #12: 0x0000000100e80c74 cc1`toplev::main(this=<unavailable>, argc=4,
argv=0x00007fff5fbff9b8) + 3764 at toplev.c:2013
    frame #13: 0x0000000100e8129c cc1`main(argc=4, argv=0x00007fff5fbff9b8) +
44 at main.c:38
    frame #14: 0x00007fff8e0895c9 libdyld.dylib`start + 1
    frame #15: 0x00007fff8e0895c9 libdyld.dylib`start + 1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug c/63795] ipa-icf ICE with noreturn functions (test case builtin-noret-1.c)
  2014-11-09 15:20 [Bug c/63795] New: Noreturn failure (test case builtin-noret-1.c) fxcoudert at gcc dot gnu.org
@ 2014-11-09 15:25 ` fxcoudert at gcc dot gnu.org
  2014-11-09 15:30 ` dominiq at lps dot ens.fr
  2014-11-11 15:33 ` [Bug ipa/63795] " fxcoudert at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: fxcoudert at gcc dot gnu.org @ 2014-11-09 15:25 UTC (permalink / raw)
  To: gcc-bugs

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

Francois-Xavier Coudert <fxcoudert at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|                            |x86_64-apple-darwin14
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2014-11-09
                 CC|                            |iains at gcc dot gnu.org,
                   |                            |marxin at gcc dot gnu.org
               Host|                            |x86_64-apple-darwin14
            Summary|Noreturn failure (test case |ipa-icf ICE with noreturn
                   |builtin-noret-1.c)          |functions (test case
                   |                            |builtin-noret-1.c)
     Ever confirmed|0                           |1
              Build|                            |x86_64-apple-darwin14


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug c/63795] ipa-icf ICE with noreturn functions (test case builtin-noret-1.c)
  2014-11-09 15:20 [Bug c/63795] New: Noreturn failure (test case builtin-noret-1.c) fxcoudert at gcc dot gnu.org
  2014-11-09 15:25 ` [Bug c/63795] ipa-icf ICE with noreturn functions " fxcoudert at gcc dot gnu.org
@ 2014-11-09 15:30 ` dominiq at lps dot ens.fr
  2014-11-11 15:33 ` [Bug ipa/63795] " fxcoudert at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: dominiq at lps dot ens.fr @ 2014-11-09 15:30 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
One of the many fall out of the IPA_ICF commit:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63622#c7. The ICE disappears if
you compile with -fno-ipa-icf.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug ipa/63795] ipa-icf ICE with noreturn functions (test case builtin-noret-1.c)
  2014-11-09 15:20 [Bug c/63795] New: Noreturn failure (test case builtin-noret-1.c) fxcoudert at gcc dot gnu.org
  2014-11-09 15:25 ` [Bug c/63795] ipa-icf ICE with noreturn functions " fxcoudert at gcc dot gnu.org
  2014-11-09 15:30 ` dominiq at lps dot ens.fr
@ 2014-11-11 15:33 ` fxcoudert at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: fxcoudert at gcc dot gnu.org @ 2014-11-11 15:33 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Francois-Xavier Coudert <fxcoudert at gcc dot gnu.org> ---
(In reply to Francois-Xavier Coudert from comment #4)
> Anyway, I'm bootstrapping a fresh compiler, including your commit, so I'll
> be able to tell soon for sure.

Don't mind me. It is indeed fixed at revision 217355, sorry for the noise.


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-11-11 15:33 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-09 15:20 [Bug c/63795] New: Noreturn failure (test case builtin-noret-1.c) fxcoudert at gcc dot gnu.org
2014-11-09 15:25 ` [Bug c/63795] ipa-icf ICE with noreturn functions " fxcoudert at gcc dot gnu.org
2014-11-09 15:30 ` dominiq at lps dot ens.fr
2014-11-11 15:33 ` [Bug ipa/63795] " fxcoudert at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).