This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/48530] [C++0x][SFINAE] Hard errors with deleted d'tors


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]