This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/42634] New: ICE with -g -O2 -std=c++0x in copy_fn_p, at cp/decl.c:9973
- From: "wouter dot vermaelen at scarlet dot be" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Jan 2010 14:13:44 -0000
- Subject: [Bug c++/42634] New: ICE with -g -O2 -std=c++0x in copy_fn_p, at cp/decl.c:9973
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
> cat bug.ii
template<typename T> T declval();
template<typename T, typename... Args> struct is_constructible {
template<typename T1, typename... Args1>
static decltype(T1(declval<Args1>()...), char()) test();
static const bool value = sizeof(test<T, Args...>()) == 1;
};
template<bool> struct enable_if {
typedef void type;
};
template<class T1, class T2> struct pair {
template<class U2,
class = typename enable_if<is_constructible<T2,
U2&&>::value>::type>
pair(const T1&, U2&&) { }
};
struct string {
string() : p(0) {}
char* p;
};
struct Foo {
string s;
int i;
};
void f() {
pair<int, Foo>(1, Foo());
}
> g++ -g -O2 -std=c++0x bug.ii
bug.ii: In instantiation of ?const bool is_constructible<Foo, int&&>::value?:
bug.ii:24:26: instantiated from here
bug.ii:5:58: internal compiler error: in copy_fn_p, at cp/decl.c:9973
I'm using SVN revision trunk@155658 on linux x86_64.
--
Summary: ICE with -g -O2 -std=c++0x in copy_fn_p, at
cp/decl.c:9973
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: wouter dot vermaelen at scarlet dot be
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42634
- Follow-Ups:
- [Bug c++/42634] ICE with -g -O2 -std=c++0x in copy_fn_p, at cp/decl.c:9973
- From: rguenth at gcc dot gnu dot org
- [Bug c++/42634] ICE with -g -O2 -std=c++0x in copy_fn_p, at cp/decl.c:9973
- From: bkoz at gcc dot gnu dot org
- [Bug c++/42634] ICE with -g -O2 -std=c++0x in copy_fn_p, at cp/decl.c:9973
- From: bkoz at gcc dot gnu dot org
- [Bug c++/42634] ICE with -g -O2 -std=c++0x in copy_fn_p, at cp/decl.c:9973
- From: dodji at gcc dot gnu dot org
- [Bug c++/42634] ICE with -g -O2 -std=c++0x in copy_fn_p, at cp/decl.c:9973
- From: dodji at gcc dot gnu dot org
- [Bug c++/42634] ICE with -g -O2 -std=c++0x in copy_fn_p, at cp/decl.c:9973
- From: doko at ubuntu dot com
- [Bug c++/42634] ICE with -g -O2 -std=c++0x in copy_fn_p, at cp/decl.c:9973
- From: dodji at gcc dot gnu dot org
- [Bug c++/42634] ICE with -g -O2 -std=c++0x in copy_fn_p, at cp/decl.c:9973
- From: dodji at gcc dot gnu dot org
- [Bug c++/42634] ICE with -g -O2 -std=c++0x in copy_fn_p, at cp/decl.c:9973
- From: dodji at gcc dot gnu dot org
- [Bug c++/42634] ICE with -g -O2 -std=c++0x in copy_fn_p, at cp/decl.c:9973
- From: dodji at gcc dot gnu dot org
- [Bug c++/42634] ICE with -g -O2 -std=c++0x in copy_fn_p, at cp/decl.c:9973
- From: rguenth at gcc dot gnu dot org
- [Bug c++/42634] ICE with -g -O2 -std=c++0x in copy_fn_p, at cp/decl.c:9973
- From: dodji at gcc dot gnu dot org
- [Bug c++/42634] ICE with -g -O2 -std=c++0x in copy_fn_p, at cp/decl.c:9973
- From: dodji at gcc dot gnu dot org
- [Bug c++/42634] ICE with -g -O2 -std=c++0x in copy_fn_p, at cp/decl.c:9973
- From: dodji at gcc dot gnu dot org
- [Bug c++/42634] ICE with -g -O2 -std=c++0x in copy_fn_p, at cp/decl.c:9973
- From: dodji at gcc dot gnu dot org
- [Bug c++/42634] ICE with -g -O2 -std=c++0x in copy_fn_p, at cp/decl.c:9973
- From: dodji at gcc dot gnu dot org
- [Bug c++/42634] ICE with -g -O2 -std=c++0x in copy_fn_p, at cp/decl.c:9973
- From: dodji at gcc dot gnu dot org