http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47606

           Summary: [trans-mem] internal compiler error in expand_block_tm
                    with O2
           Product: gcc
           Version: trans-mem
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: patrick.marl...@gmail.com
                CC: r...@gcc.gnu.org, al...@gcc.gnu.org


Created attachment 23243
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23243
old testcase flavoured

I wanted to reopen this old bug but I can't since I am not the creator:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46269

Anyway, here a test case that raised again this with O2:
$ g++ -fgnu-tm -S -O2 -Wfatal-errors ICE_expand_block_tm.i 
ICE_expand_block_tm.i: In member function ‘void sp_counted_impl_p<X>::dispose()
[with X = GradientInfo]’:
ICE_expand_block_tm.i:31:15: internal compiler error: in expand_block_tm, at
trans-mem.c:2323
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

It seems that even if the function atomic_exchange_and_add is declared
transaction_pure, gcc complains about the GIMPLE_ASM statement in
expand_block_tm.

Patrick Marlier.

Reply via email to