diff options
author | Paolo Carlini <paolo.carlini@oracle.com> | 2013-07-30 16:48:52 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2013-07-30 16:48:52 +0000 |
commit | bd459a6121641c159e7830e7e3905842e1e5a20a (patch) | |
tree | 967d6930d5acbf9c1f5808517b4e414cc7571aef /gcc/cp/call.c | |
parent | 02cab1c17d01ff160ab64281acc85a5c3709cafd (diff) | |
download | gcc-bd459a6121641c159e7830e7e3905842e1e5a20a.tar.gz |
re PR c++/57947 (internal compiler error: Segmentation fault using extended initializer lists without -std=c++11 or -std=gnu++11)
/cp
2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57947
* call.c (is_std_init_list): Return false if cxx_dialect == cxx98.
/testsuite
2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57947
* g++.dg/parse/crash63.C: New.
From-SVN: r201344
Diffstat (limited to 'gcc/cp/call.c')
-rw-r--r-- | gcc/cp/call.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/cp/call.c b/gcc/cp/call.c index 0574a9c1527..56346063f3d 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -9396,6 +9396,8 @@ is_std_init_list (tree type) /* Look through typedefs. */ if (!TYPE_P (type)) return false; + if (cxx_dialect == cxx98) + return false; type = TYPE_MAIN_VARIANT (type); return (CLASS_TYPE_P (type) && CP_TYPE_CONTEXT (type) == std_node |