[Bug c++/50623] New: Template metaprogramming involving 4 std::complex<double> fails without -std=gnu++0x

giulio.eulisse at cern dot ch gcc-bugzilla@gcc.gnu.org
Wed Oct 5 15:49:00 GMT 2011


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

             Bug #: 50623
           Summary: Template metaprogramming involving 4
                    std::complex<double> fails without -std=gnu++0x
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: giulio.eulisse@cern.ch


Created attachment 25422
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25422
reduced test case.

The attached test.cc file provokes an ICE (see below) when compiling it with

c++ -c -O2 test.cc

Notice that changing R to be a double, adding  -std=gnu++0x, or making it a 3
vector fixes the problem.

This was done with:

c++ (GCC) 4.7.0 20111001 (experimental)

===
test.cc: In function 'R evaluate()':
test.cc:28:3: error: invalid rhs for gimple memory store
a$_M_value

v1$_M_value

# .MEM_14 = VDEF <.MEM_12>
a$_M_value = v1$_M_value;

test.cc:28:3: error: invalid rhs for gimple memory store
a$16$_M_value

v1$16$_M_value

# .MEM_15 = VDEF <.MEM_14>
a$16$_M_value = v1$16$_M_value;

test.cc:28:3: error: invalid rhs for gimple memory store
a$32$_M_value

v1$32$_M_value

# .MEM_16 = VDEF <.MEM_15>
a$32$_M_value = v1$32$_M_value;

test.cc:28:3: error: invalid rhs for gimple memory store
a$48$_M_value

v1$48$_M_value

# .MEM_17 = VDEF <.MEM_16>
a$48$_M_value = v1$48$_M_value;

test.cc:28:3: internal compiler error: verify_gimple failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.



More information about the Gcc-bugs mailing list