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

             Bug #: 52385
           Summary: [C++0x][constexpr] Segfault in constexpr
    Classification: Unclassified
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: critical
          Priority: P3
         Component: c++
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: philipp.clas...@gmx.net


Created attachment 26754
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26754
preprocessed file

Compiling the following programm (.ii file is attached) with "g++ -g
-std=c++0x" crashes:



constexpr int minus(int x, int y, int j1 = 0, int j2 = 0) {
  return j1 == x - y ? j1 : (j2 == x - y ? j2 : minus(x, y, j1 + 1, j2 - 1));
}

int main() {
  constexpr int result = minus(290321321, 31721711);
  return result;
}



Output:
g++ -g -std=c++0x -o main main.cpp
g++: internal compiler error: Segmentation fault (program cc1plus)
...



gcc -v
Using built-in specs.
COLLECT_GCC=/opt/gcc/bin/gcc
COLLECT_LTO_WRAPPER=/opt/gcc-4.6.0/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ./configure --prefix=/opt/gcc-4.6.0
Thread model: posix
gcc version 4.6.0 (GCC)


uname -a
Linux terra-ubuntu-vm 2.6.38-13-generic #54-Ubuntu SMP Tue Jan 3 13:38:12 UTC
2012 x86_64 x86_64 x86_64 GNU/Linux

Reply via email to