[Bug c++/70353] static_assert + assert + c++14 crashes GCC
msebor at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Mar 22 20:15:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70353
Martin Sebor <msebor at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |msebor at gcc dot gnu.org
Blocks| |55004
Known to fail| |5.2.1, 6.0
--- Comment #5 from Martin Sebor <msebor at gcc dot gnu.org> ---
The trigger seems to be __PRETTY_FUNCTION__. Below is a smaller test case:
constexpr int ce (int r)
{
const char *s = __PRETTY_FUNCTION__;
return r;
}
constexpr int i = ce (3);
v.c: In function ‘constexpr int ce(int)’:
v.c:3:16: warning: unused variable ‘s’ [-Wunused-variable]
const char *s = __PRETTY_FUNCTION__;
^
v.c: At global scope:
v.c:7:22: in constexpr expansion of ‘ce(3)’
v.c:7:24: internal compiler error: Segmentation fault
constexpr int i = ce (3);
^
0x10d5326 crash_signal
/src/gcc/trunk/gcc/toplev.c:335
0x7ce697 bool vec_safe_reserve<tree_node*, va_gc>(vec<tree_node*, va_gc,
vl_embed>*&, unsigned int, bool)
/src/gcc/trunk/gcc/vec.h:553
0x7ce1aa tree_node** vec_safe_push<tree_node*, va_gc>(vec<tree_node*, va_gc,
vl_embed>*&, tree_node* const&)
/src/gcc/trunk/gcc/vec.h:647
0xd48a73 add_local_decl(function*, tree_node*)
/src/gcc/trunk/gcc/function.c:6795
0x1169cf1 remap_decls
/src/gcc/trunk/gcc/tree-inline.c:620
0x116a19a remap_block
/src/gcc/trunk/gcc/tree-inline.c:688
0x116a55d copy_bind_expr
/src/gcc/trunk/gcc/tree-inline.c:761
0x116ba51 copy_tree_body_r(tree_node**, int*, void*)
/src/gcc/trunk/gcc/tree-inline.c:1095
0x140ec4b walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*, tree_node*
(*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*,
hash_set<tree_node*, default_hash_traits<tree_node*> >*))
/src/gcc/trunk/gcc/tree.c:11531
0x11720b8 copy_tree_body
/src/gcc/trunk/gcc/tree-inline.c:2946
0x117b678 copy_fn(tree_node*, tree_node*&, tree_node*&)
/src/gcc/trunk/gcc/tree-inline.c:6151
0xa7a19d cxx_eval_call_expression
/src/gcc/trunk/gcc/cp/constexpr.c:1368
0xa81d72 cxx_eval_constant_expression
/src/gcc/trunk/gcc/cp/constexpr.c:3407
0xa83fb3 cxx_eval_outermost_constant_expr
/src/gcc/trunk/gcc/cp/constexpr.c:3973
0xa84611 cxx_constant_value(tree_node*, tree_node*)
/src/gcc/trunk/gcc/cp/constexpr.c:4062
0x89f86c store_init_value(tree_node*, tree_node*, vec<tree_node*, va_gc,
vl_embed>**, int)
/src/gcc/trunk/gcc/cp/typeck2.c:822
0x7ec411 check_initializer
/src/gcc/trunk/gcc/cp/decl.c:6155
0x7ef3db cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int)
/src/gcc/trunk/gcc/cp/decl.c:6800
0x9282b6 cp_parser_init_declarator
/src/gcc/trunk/gcc/cp/parser.c:18658
0x91d806 cp_parser_simple_declaration
/src/gcc/trunk/gcc/cp/parser.c:12379
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.
Referenced Bugs:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55004
[Bug 55004] [meta-bug] constexpr issues
More information about the Gcc-bugs
mailing list