http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46003

Ramana Radhakrishnan <ramana at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2010.12.03 09:32:03
     Ever Confirmed|0                           |1

--- Comment #1 from Ramana Radhakrishnan <ramana at gcc dot gnu.org> 2010-12-03 
09:32:03 UTC ---
Even something as simple as this brings the compiler down. 

struct A
{
  A(int);
  operator void*() const;
};

template<int> void foo(const A& x) 
{ 0 ? x : 0; }


Here's a backtrace from gdb if that helps. 

0  fancy_abort (file=0xe5e0ed "../../combined/gcc/cp/tree.c", line=287,
function=0xe60260 "build_target_expr") at ../../combined/gcc/diagnostic.c:892
#1  0x00000000005e7c68 in build_target_expr (decl=0x2ac80b326280,
value=0x2ac80b42f678) at ../../combined/gcc/cp/tree.c:284
#2  0x00000000005eceeb in build_cplus_new (type=0x2ac80b43ff18, init=<value
optimized out>) at ../../combined/gcc/cp/tree.c:450
#3  0x000000000049c742 in convert_like_real (convs=0x70ca550,
expr=0x2ac80b42f678, fn=0x0, argnum=0, inner=<value optimized out>,
issue_conversion_warnings=<value optimized out>, c_cast_p=0 '\0', complain=3)
at ../../combined/gcc/cp/call.c:5300
#4  0x000000000049e0c9 in build_conditional_expr (arg1=0x2ac80b3128d0,
arg2=0x2ac80b3128a0, arg3=0x2ac80b302f50, complain=3) at
../../combined/gcc/cp/call.c:3965
#5  0x000000000058a840 in build_x_conditional_expr (ifexp=0x2ac80b302f50,
op1=0x2ac80b3128a0, op2=0xe60260, complain=3) at
../../combined/gcc/cp/typeck.c:5478
#6  0x000000000056d43e in cp_parser_assignment_expression
(parser=0x2ac80b44d000, cast_p=<value optimized out>, pidk=0x0) at
../../combined/gcc/cp/parser.c:6972
#7  0x000000000056d6b0 in cp_parser_expression (parser=0xe5e0ed, cast_p=<value
optimized out>, pidk=0xe60260) at ../../combined/gcc/cp/parser.c:7149
#8  0x000000000056da50 in cp_parser_expression_statement
(parser=0x2ac80b44d000, in_statement_expr=0x0) at
../../combined/gcc/cp/parser.c:8264
#9  0x000000000057a496 in cp_parser_statement (parser=0x2ac80b44d000,
in_statement_expr=0x0, in_compound=1 '\001', if_p=0x0) at
../../combined/gcc/cp/parser.c:8129
#10 0x000000000057b4d6 in cp_parser_statement_seq_opt (parser=0x2ac80b44d000,
in_statement_expr=0x0) at ../../combined/gcc/cp/parser.c:8378
#11 0x000000000057b614 in cp_parser_compound_statement (parser=0x2ac80b44d000,
in_statement_expr=0x0, in_try=<value optimized out>) at
../../combined/gcc/cp/parser.c:8332
#12 0x000000000057d8de in cp_parser_ctor_initializer_opt_and_function_body
(parser=0x2ac80b44d000) at ../../combined/gcc/cp/parser.c:16319
#13 0x000000000057dc17 in cp_parser_function_definition_after_declarator
(parser=0x2ac80b44d000, inline_p=0 '\0') at
../../combined/gcc/cp/parser.c:19747
#14 0x000000000057eb6c in cp_parser_init_declarator (parser=0x2ac80b44d000,
decl_specifiers=0x7fff9f7fc170, checks=0x0, function_definition_allowed_p=1
'\001', member_p=0 '\0', declares_class_or_enum=<value optimized out>,
function_definition_p=0x7fff9f7fc1df "\001") at
../../combined/gcc/cp/parser.c:19677
#15 0x000000000057eebb in cp_parser_single_declaration (parser=0x2ac80b44d000,
checks=0x0, member_p=0 '\0', explicit_specialization_p=0 '\0',
friend_p=0x7fff9f7fc247 "") at ../../combined/gcc/cp/parser.c:20002
#16 0x000000000057f0cb in cp_parser_template_declaration_after_export
(parser=0x2ac80b44d000, member_p=96 '`') at
../../combined/gcc/cp/parser.c:19852
#17 0x00000000005840e2 in cp_parser_declaration (parser=0x2ac80b44d000) at
../../combined/gcc/cp/parser.c:9415
#18 0x0000000000582405 in cp_parser_declaration_seq_opt (parser=0x2ac80b44d000)
at ../../combined/gcc/cp/parser.c:9337
#19 0x000000000058271b in c_parse_file () at
../../combined/gcc/cp/parser.c:3454
#20 0x000000000065ceed in c_common_parse_file () at
../../combined/gcc/c-family/c-opts.c:1071
#21 0x0000000000940017 in toplev_main (argc=3, argv=0x7fff9f7fc4a8) at
../../combined/gcc/toplev.c:579
#22 0x000000350401d974 in __libc_start_main () from /lib64/libc.so.6
#23 0x000000000048a669 in _start ()

Reply via email to