[Bug c++/56177] New: ICE when used forward for 'auto f();'

i.nixman at gmail dot com gcc-bugzilla@gcc.gnu.org
Fri Feb 1 17:14:00 GMT 2013


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

             Bug #: 56177
           Summary: ICE when used forward for 'auto f();'
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: i.nixman@gmail.com


Working code:
#include <iostream>
//auto f();
auto f() { return 33; }
int main() {
   std::cout << f() << std::endl;
}

Problematic code:
#include <iostream>
auto f();
auto f() { return 33; }
int main() {
   std::cout << f() << std::endl;
}

Compiler output:
source.cpp: In function 'auto f()':
source.cpp:4:19: internal compiler error: in check_return_expr, at
cp/typeck.c:8159
auto f() { return 33; }
^
0x5858ac check_return_expr(tree_node*, bool*)
../../gcc-4.8-20130127/gcc/cp/typeck.c:8159
0x5a31ae finish_return_stmt(tree_node*)
../../gcc-4.8-20130127/gcc/cp/semantics.c:782
0x55a0d1 cp_parser_jump_statement
../../gcc-4.8-20130127/gcc/cp/parser.c:10041
0x55a0d1 cp_parser_statement
../../gcc-4.8-20130127/gcc/cp/parser.c:8769
0x55a9e6 cp_parser_statement_seq_opt
../../gcc-4.8-20130127/gcc/cp/parser.c:9133
0x55aab6 cp_parser_compound_statement
../../gcc-4.8-20130127/gcc/cp/parser.c:9087
0x56e686 cp_parser_function_body
../../gcc-4.8-20130127/gcc/cp/parser.c:17672
0x56e686 cp_parser_ctor_initializer_opt_and_function_body
../../gcc-4.8-20130127/gcc/cp/parser.c:17708
0x56f6c9 cp_parser_function_definition_after_declarator
../../gcc-4.8-20130127/gcc/cp/parser.c:21680
0x5700f1 cp_parser_function_definition_from_specifiers_and_declarator
../../gcc-4.8-20130127/gcc/cp/parser.c:21601
0x5700f1 cp_parser_init_declarator
../../gcc-4.8-20130127/gcc/cp/parser.c:15810
0x57045a cp_parser_simple_declaration
../../gcc-4.8-20130127/gcc/cp/parser.c:10561
0x5750b7 cp_parser_block_declaration
../../gcc-4.8-20130127/gcc/cp/parser.c:10442
0x5750b7 cp_parser_block_declaration
../../gcc-4.8-20130127/gcc/cp/parser.c:10368
0x57a11b cp_parser_declaration
../../gcc-4.8-20130127/gcc/cp/parser.c:10339
0x578da7 cp_parser_declaration_seq_opt
../../gcc-4.8-20130127/gcc/cp/parser.c:10225
0x57a652 cp_parser_translation_unit
../../gcc-4.8-20130127/gcc/cp/parser.c:3807
0x57a652 c_parse_file()
../../gcc-4.8-20130127/gcc/cp/parser.c:28175
0x612894 c_common_parse_file()
../../gcc-4.8-20130127/gcc/c-family/c-opts.c:1036
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.


Online test: http://liveworkspace.org/code/3bTktL$0



More information about the Gcc-bugs mailing list