[Bug c++/19744] New: ICE in if_convert with -fnon-call-exceptions -O2 on amd64

nick at ilm dot com gcc-bugzilla@gcc.gnu.org
Tue Feb 1 22:01:00 GMT 2005


I'm running into an ICE on amd64

> /dept/rnd/vendor/gcc-3.4.3-amd64/bin/g++ -fnon-call-exceptions -O2 -g -c test.C
test.C: In member function `void M::foo() const':
test.C:19: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

it's also reproducable on x86 with -msse
> /dept/rnd/vendor/gcc-3.4.3/bin/g++ -msse -fnon-call-exceptions -O2 -g -c test.C
test.C: In member function `void M::foo() const':
test.C:19: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

on the flollowing the following code:

------------------------------------------------
struct E {};

class M
{
  public:
    float               x[4][4];
    void                foo () const throw (E);
};


void
M::foo () const throw (E)
{
    for (int i = 0; i < 3 ; i++) {
        float p = x[i][i];
        if (p < 0) p = -p;
    }
    return;
}
--------------------------------------

here's the stacktrace.  with -fno-if-conversion 

(gdb) where
#0  find_if_header (test_bb=0xa49488, pass=1) at ../../gcc-3.4.3/gcc/ifcvt.c:1641
#1  0x0000000000708661 in if_convert (x_life_data_ok=Variable "x_life_data_ok"
is not available.
) at ../../gcc-3.4.3/gcc/ifcvt.c:3251
#2  0x0000000000697968 in rest_of_compilation (decl=0x2a959cb1a0) at
../../gcc-3.4.3/gcc/toplev.c:2443
#3  0x00000000006d1f4c in tree_rest_of_compilation (fndecl=0x2a959cb1a0,
nested_p=false) at ../../gcc-3.4.3/gcc/tree-optimize.c:168
#4  0x000000000046e881 in expand_body (fn=0x2a959cb1a0) at
../../gcc-3.4.3/gcc/cp/semantics.c:2920
#5  0x00000000006d39cf in cgraph_expand_function (node=0x2a959d1700) at
../../gcc-3.4.3/gcc/cgraphunit.c:538
#6  0x00000000006d4131 in cgraph_optimize () at
../../gcc-3.4.3/gcc/cgraphunit.c:1542
#7  0x0000000000441885 in finish_file () at ../../gcc-3.4.3/gcc/cp/decl2.c:2856
#8  0x0000000000694e43 in toplev_main (argc=Variable "argc" is not available.
) at ../../gcc-3.4.3/gcc/toplev.c:1822
#9  0x0000002a95688e5d in __libc_start_main () from /lib64/tls/libc.so.6
#10 0x00000000004025aa in _start () at ../sysdeps/x86_64/elf/start.S:96

-- 
           Summary: ICE in if_convert with -fnon-call-exceptions -O2 on
                    amd64
           Product: gcc
           Version: 3.4.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: nick at ilm dot com
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


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



More information about the Gcc-bugs mailing list