This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/59318] New: ICE on invalid C++ code
- From: "hjl.tools at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 27 Nov 2013 18:36:20 +0000
- Subject: [Bug c++/59318] New: ICE on invalid C++ code
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59318
Bug ID: 59318
Summary: ICE on invalid C++ code
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hjl.tools at gmail dot com
[hjl@gnu-6 pr59311]$ cat x.ii
#pragma GCC visibility push(default)
namespace std
{
template<class _E>
class initializer_list
{
public:
typedef _E value_type;
};
}
#pragma GCC visibility pop
struct A
{
int i;
A(std::initializer_list<int>) { }
};
int x = 4;
int main(int argc, char **argv)
{
{ int i[x] = { 42, 42, 42, 42 }; }
{
A a[x] = { argc };
if (a[1].i != 42)
__builtin_abort ();
}
}
[hjl@gnu-6 pr59311]$ make x.s
/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/ -std=c++1y -m32 -S x.ii
x.ii: In function âint main(int, char**)â:
x.ii:28:21: error: conversion from âintâ to non-scalar type âAâ requested
A a[x] = { argc };
^
x.ii:28:21: internal compiler error: Segmentation fault
0xd1bbee crash_signal
/export/gnu/import/git/gcc/gcc/toplev.c:336
0x57d296 contains_struct_check(tree_node*, tree_node_structure_enum, char
const*, int, char const*)
/export/gnu/import/git/gcc/gcc/tree.h:2821
0x593382 convert_like_real
/export/gnu/import/git/gcc/gcc/cp/call.c:6059
0x596b0b build_over_call
/export/gnu/import/git/gcc/gcc/cp/call.c:6947
0x592ae7 convert_like_real
/export/gnu/import/git/gcc/gcc/cp/call.c:5964
0x59363e convert_like_real
/export/gnu/import/git/gcc/gcc/cp/call.c:6089
0x59f55f perform_implicit_conversion_flags(tree_node*, tree_node*, int, int)
/export/gnu/import/git/gcc/gcc/cp/call.c:9023
0x59f5f1 perform_implicit_conversion(tree_node*, tree_node*, int)
/export/gnu/import/git/gcc/gcc/cp/call.c:9035
0x72d132 ocp_convert(tree_node*, tree_node*, int, int, int)
/export/gnu/import/git/gcc/gcc/cp/cvt.c:861
0x73c92f expand_default_init
/export/gnu/import/git/gcc/gcc/cp/init.c:1605
0x73d40c expand_aggr_init_1
/export/gnu/import/git/gcc/gcc/cp/init.c:1774
0x73c2cc build_aggr_init(tree_node*, tree_node*, int, int)
/export/gnu/import/git/gcc/gcc/cp/init.c:1525
0x7439a9 build_vec_init(tree_node*, tree_node*, tree_node*, bool, int, int)
/export/gnu/import/git/gcc/gcc/cp/init.c:3737
0x73c10c build_aggr_init(tree_node*, tree_node*, int, int)
/export/gnu/import/git/gcc/gcc/cp/init.c:1506
0x5bc2b5 build_aggr_init_full_exprs
/export/gnu/import/git/gcc/gcc/cp/decl.c:5583
0x5bce86 check_initializer
/export/gnu/import/git/gcc/gcc/cp/decl.c:5719
0x5c01a2 cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int)
/export/gnu/import/git/gcc/gcc/cp/decl.c:6388
0x6db07f cp_parser_init_declarator
/export/gnu/import/git/gcc/gcc/cp/parser.c:16743
0x6d2198 cp_parser_simple_declaration
/export/gnu/import/git/gcc/gcc/cp/parser.c:11134
0x6d1f88 cp_parser_block_declaration
/export/gnu/import/git/gcc/gcc/cp/parser.c:11015
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
make: *** [x.s] Error 1
[hjl@gnu-6 pr59311]$