http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48530
--- Comment #3 from Daniel Krügler <daniel.kruegler at googlemail dot com> 2011-04-27 21:59:48 UTC --- (In reply to comment #2) > Fixed. Thanks Jason. I just see that the slightly revised example with an additional defaulted c'tor gives me an ICE at the line marked with the X: //----------- template<class T, class = decltype(T()) > char f(int); template<class> char (&f(...))[2]; struct DelDtor { DelDtor() = default; ~DelDtor() = delete; }; static_assert(sizeof(f<DelDtor>(0)) != 1, "Error"); // X int main() {} //----------- "main.cpp:14:34: internal compiler error: tree check: expected target_expr, have error_mark in build_cplus_new, at cp/tree.c:459" I assume that should be reopened or shall I create a new entry? The more detailed report via -v -save-temps gives the following output: \Develop\cygwin\home\Daniel\jasongcc\bin\jasong++ -v -save-temps -std=c++0x -Wall main.cpp Using built-in specs. COLLECT_GCC=/home/Daniel/jasongcc/bin/jasong++ COLLECT_LTO_WRAPPER=/home/Daniel/jasongcc/libexec/gcc/i686-pc-cygwin/4.7.0/lto-w rapper.exe Target: i686-pc-cygwin Configured with: /cygdrive/f/Develop/gcc-jason/gcc/configure --program-transform -name='s/^g++$/jasong++/' --prefix=/home/Daniel/jasongcc --enable-languages=c++ --disable-bootstrap : (reconfigured) /cygdrive/f/Develop/gcc-jason/gcc/configure --program-transform-name='s/^g++$/jasong++/' --prefix=/home/Daniel/jasongcc --e nable-languages=c++ --disable-bootstrap : (reconfigured) /cygdrive/f/Develop/gcc -jason/gcc/configure --program-transform-name='s/^g++$/jasong++/' --prefix=/home /Daniel/jasongcc --enable-languages=c++ --disable-bootstrap : (reconfigured) /cy gdrive/f/Develop/gcc-jason/gcc/configure --program-transform-name='s/^g++$/jason g++/' --prefix=/home/Daniel/jasongcc --enable-languages=c++ --disable-bootstrap : (reconfigured) /cygdrive/f/Develop/gcc-jason/gcc/configure --program-transform -name='s/^g++$/jasong++/' --prefix=/home/Daniel/jasongcc --enable-languages=c++ --disable-bootstrap : (reconfigured) /cygdrive/f/Develop/gcc-jason/gcc/configure --program-transform-name='s/^g++$/jasong++/' --prefix=/home/Daniel/jasongcc --e nable-languages=c++ --disable-bootstrap : (reconfigured) /cygdrive/f/Develop/gcc -jason/gcc/configure --program-transform-name='s/^g++$/jasong++/' --prefix=/home /Daniel/jasongcc --enable-languages=c++ --disable-bootstrap : (reconfigured) /cy gdrive/f/Develop/gcc-jason/gcc/configure --program-transform-name='s/^g++$/jason g++/' --prefix=/home/Daniel/jasongcc --enable-languages=c++ --disable-bootstrap : (reconfigured) /cygdrive/f/Develop/gcc-jason/gcc/configure --program-transform -name='s/^g++$/jasong++/' --prefix=/home/Daniel/jasongcc --enable-languages=c++ --disable-bootstrap Thread model: single gcc version 4.7.0 20110427 (experimental) (GCC) COLLECT_GCC_OPTIONS='-v' '-save-temps' '-std=c++0x' '-Wall' '-shared-libgcc' '-m tune=generic' '-march=pentiumpro' /home/Daniel/jasongcc/libexec/gcc/i686-pc-cygwin/4.7.0/cc1plus.exe -E -quiet -v -D__CYGWIN32__ -D__CYGWIN__ -Dunix -D__unix__ -D__unix -idirafter /usr/lib/../i nclude/w32api -idirafter ../../include/w32api main.cpp -mtune=generic -march=pen tiumpro -std=c++0x -Wall -fpch-preprocess -o main.ii ignoring nonexistent directory "/usr/local/include" ignoring nonexistent directory "/home/Daniel/jasongcc/lib/gcc/i686-pc-cygwin/4.7 .0/../../../../i686-pc-cygwin/include" ignoring nonexistent directory "../../include/w32api" #include "..." search starts here: #include <...> search starts here: /home/Daniel/jasongcc/lib/gcc/i686-pc-cygwin/4.7.0/../../../../include/c++/4.7. 0 /home/Daniel/jasongcc/lib/gcc/i686-pc-cygwin/4.7.0/../../../../include/c++/4.7. 0/i686-pc-cygwin /home/Daniel/jasongcc/lib/gcc/i686-pc-cygwin/4.7.0/../../../../include/c++/4.7. 0/backward /home/Daniel/jasongcc/lib/gcc/i686-pc-cygwin/4.7.0/include /home/Daniel/jasongcc/include /home/Daniel/jasongcc/lib/gcc/i686-pc-cygwin/4.7.0/include-fixed /usr/include /usr/lib/../include/w32api End of search list. COLLECT_GCC_OPTIONS='-v' '-save-temps' '-std=c++0x' '-Wall' '-shared-libgcc' '-m tune=generic' '-march=pentiumpro' /home/Daniel/jasongcc/libexec/gcc/i686-pc-cygwin/4.7.0/cc1plus.exe -fpreprocess ed main.ii -quiet -dumpbase main.cpp -mtune=generic -march=pentiumpro -auxbase m ain -Wall -std=c++0x -version -o main.s GNU C++ (GCC) version 4.7.0 20110427 (experimental) (i686-pc-cygwin) compiled by GNU C version 4.3.4 20090804 (release) 1, GMP version 4.3.1, MPFR version 2.4.1-p5, MPC version 0.8 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU C++ (GCC) version 4.7.0 20110427 (experimental) (i686-pc-cygwin) compiled by GNU C version 4.3.4 20090804 (release) 1, GMP version 4.3.1, MPFR version 2.4.1-p5, MPC version 0.8 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 9b42e13c004bf6542e15364c91941072 main.cpp:14:34: internal compiler error: tree check: expected target_expr, have error_mark in build_cplus_new, at cp/tree.c:459 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions.