https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66460

            Bug ID: 66460
           Summary: ICE using __func__ in constexpr function.
           Product: gcc
           Version: 5.1.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: redi at gcc dot gnu.org
  Target Milestone: ---

constexpr char f() { return *__func__; }
constexpr char c = f();



pf.cc:2:21:   in constexpr expansion of ‘f()’
pf.cc:2:22: internal compiler error: Segmentation fault
 constexpr char c = f();
                      ^
0x10ab4173 crash_signal
        /home/jwakely/src/gcc/gcc/toplev.c:375
0x107394bc vec_safe_reserve<tree_node*, va_gc>
        /home/jwakely/src/gcc/gcc/vec.h:577
0x107394bc vec_safe_push<tree_node*, va_gc>
        /home/jwakely/src/gcc/gcc/vec.h:671
0x107394bc add_local_decl(function*, tree_node*)
        /home/jwakely/src/gcc/gcc/function.c:6702
0x10b4a293 remap_decls
        /home/jwakely/src/gcc/gcc/tree-inline.c:648
0x10b4b70f remap_block
        /home/jwakely/src/gcc/gcc/tree-inline.c:718
0x10b51c47 copy_bind_expr
        /home/jwakely/src/gcc/gcc/tree-inline.c:789
0x10b51c47 copy_tree_body_r(tree_node**, int*, void*)
        /home/jwakely/src/gcc/gcc/tree-inline.c:1123
0x10df0593 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, default_hashset_traits>*, tree_node*
(*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*,
hash_set<tree_node*, default_hashset_traits>*))
        /home/jwakely/src/gcc/gcc/tree.c:11182
0x10b42ddb copy_tree_body
        /home/jwakely/src/gcc/gcc/tree-inline.c:2959
0x10b548e3 copy_fn(tree_node*, tree_node*&, tree_node*&)
        /home/jwakely/src/gcc/gcc/tree-inline.c:5989
0x1044f3d7 cxx_eval_call_expression
        /home/jwakely/src/gcc/gcc/cp/constexpr.c:1353
0x10451567 cxx_eval_constant_expression
        /home/jwakely/src/gcc/gcc/cp/constexpr.c:3074
0x1045871b cxx_eval_outermost_constant_expr
        /home/jwakely/src/gcc/gcc/cp/constexpr.c:3577
0x1028326b store_init_value(tree_node*, tree_node*, vec<tree_node*, va_gc,
vl_embed>**, int)
        /home/jwakely/src/gcc/gcc/cp/typeck2.c:829
0x101cf907 check_initializer
        /home/jwakely/src/gcc/gcc/cp/decl.c:6024
0x101ff50f cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int)
        /home/jwakely/src/gcc/gcc/cp/decl.c:6636
0x1032f163 cp_parser_init_declarator
        /home/jwakely/src/gcc/gcc/cp/parser.c:17320
0x103320c3 cp_parser_simple_declaration
        /home/jwakely/src/gcc/gcc/cp/parser.c:11612
0x10329a67 cp_parser_block_declaration
        /home/jwakely/src/gcc/gcc/cp/parser.c:11486
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.

Reply via email to