public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/64080] New: [5.0 regression][C++14]ICE in cxx_eval_store_expression
@ 2014-11-26  7:33 lucdanton at free dot fr
  2014-11-26  8:02 ` [Bug c++/64080] " mpolacek at gcc dot gnu.org
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: lucdanton at free dot fr @ 2014-11-26  7:33 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 64080
           Summary: [5.0 regression][C++14]ICE in
                    cxx_eval_store_expression
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: lucdanton at free dot fr

Created attachment 34122
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34122&action=edit
Program exhibiting ICE

GCC version output:
g++-trunk (GCC) 5.0.0 20141126 (experimental)

The attached testcase is mechanically derived from a program
that used to compile. Compilation command together with output:
$ g++-trunk -std=c++14 ice.cpp 
ice.cpp: In instantiation of 'int invoke(Functor, Args&& ...) [with Functor =
plus_assign; Args = {int, int}]':
ice.cpp:18:37:   required by substitution of 'template<class Functor, class
Tuple, int ...Indices, class> typename result<typename tuple_element<Indices,
Tuple>::type ...>::type uncurry(Functor, Tuple, integer_sequence<int, Indices
...>) [with Functor = plus_assign; Tuple = tuple<int>; int ...Indices = {0, 0};
<template-parameter-1-4> = <missing>]'
ice.cpp:27:41:   required by substitution of 'template<int ...ElementIndices,
class Functor, class ... Tuples, class> void zip_with(Functor, Tuples ...)
[with int ...ElementIndices = 0; Functor = plus_assign; Tuples = {tuple<int>};
<template-parameter-1-4> = <missing>]'
ice.cpp:38:47:   required from here
ice.cpp:15:54:   in constexpr expansion of
'functor.plus_assign::operator()<int&, int&>((* & args#0), (* & args#1))'
ice.cpp:14:5: internal compiler error: in cxx_eval_store_expression, at
cp/constexpr.c:2492
 int invoke(Functor functor,
     ^
0x6d9fdd cxx_eval_store_expression
    ../../gcc/gcc/cp/constexpr.c:2492
0x6d7916 cxx_eval_constant_expression
    ../../gcc/gcc/cp/constexpr.c:2961
0x6d7653 cxx_eval_constant_expression
    ../../gcc/gcc/cp/constexpr.c:3192
0x6d795c cxx_eval_constant_expression
    ../../gcc/gcc/cp/constexpr.c:3066
0x6d795c cxx_eval_constant_expression
    ../../gcc/gcc/cp/constexpr.c:3066
0x6d7173 cxx_eval_call_expression
    ../../gcc/gcc/cp/constexpr.c:1335
0x6d8018 cxx_eval_constant_expression
    ../../gcc/gcc/cp/constexpr.c:2877
0x6d9857 is_sub_constant_expr(tree_node*)
    ../../gcc/gcc/cp/constexpr.c:3436
0x67e92d check_noexcept_r
    ../../gcc/gcc/cp/except.c:1168
0xc5b6e4 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>*))
    ../../gcc/gcc/tree.c:11022
0xc5ce08 walk_tree_without_duplicates_1(tree_node**, tree_node*
(*)(tree_node**, int*, void*), void*, tree_node* (*)(tree_node**, int*,
tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*,
default_hashset_traits>*))
    ../../gcc/gcc/tree.c:11335
0x67e64f expr_noexcept_p(tree_node*, int)
    ../../gcc/gcc/cp/except.c:1245
0x67e7b2 finish_noexcept_expr(tree_node*, int)
    ../../gcc/gcc/cp/except.c:1230
0x5f7f48 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
    ../../gcc/gcc/cp/pt.c:14832
0x61154d maybe_instantiate_noexcept(tree_node*)
    ../../gcc/gcc/cp/pt.c:19899
0x62c01f mark_used(tree_node*, int)
    ../../gcc/gcc/cp/decl2.c:4879
0x5c6079 build_over_call
    ../../gcc/gcc/cp/call.c:7434
0x5cee51 build_new_function_call(tree_node*, vec<tree_node*, va_gc,
vl_embed>**, bool, int)
    ../../gcc/gcc/cp/call.c:4081
0x693cf9 finish_call_expr(tree_node*, vec<tree_node*, va_gc, vl_embed>**, bool,
bool, int)
    ../../gcc/gcc/cp/semantics.c:2392
0x5f9595 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
    ../../gcc/gcc/cp/pt.c:15148
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.


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-12-04 20:48 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-26  7:33 [Bug c++/64080] New: [5.0 regression][C++14]ICE in cxx_eval_store_expression lucdanton at free dot fr
2014-11-26  8:02 ` [Bug c++/64080] " mpolacek at gcc dot gnu.org
2014-11-26  9:13 ` mpolacek at gcc dot gnu.org
2014-11-26 10:09 ` rguenth at gcc dot gnu.org
2014-12-03 22:15 ` jason at gcc dot gnu.org
2014-12-04 19:37 ` jason at gcc dot gnu.org
2014-12-04 20:38 ` jason at gcc dot gnu.org
2014-12-04 20:48 ` jason at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).