Bug 78003 - [7 Regression] c++17: ICE in build_over_call, at cp/call.c:7847
Summary: [7 Regression] c++17: ICE in build_over_call, at cp/call.c:7847
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: c++ (show other bugs)
Version: 7.0
: P3 normal
Target Milestone: 7.0
Assignee: Not yet assigned to anyone
URL:
Keywords:
: 78137 (view as bug list)
Depends on:
Blocks:
 
Reported: 2016-10-17 03:51 UTC by James Almer
Modified: 2016-11-22 02:05 UTC (History)
4 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2016-10-17 00:00:00


Attachments
Preprocessed output as created by -freport-bug (237.54 KB, application/x-gzip)
2016-10-17 03:51 UTC, James Almer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description James Almer 2016-10-17 03:51:37 UTC
Created attachment 39820 [details]
Preprocessed output as created by -freport-bug

/home/jamrial/range-v3/include/range/v3/detail/variant.hpp:679:35: internal compiler error: in build_over_call, at cp/call.c:7847
             detail::variant_visit_(var.index(), data, detail::get_fn<elem_t, N>{&elem});
             ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0x646c0f build_over_call
        /home/jamrial/gcc-svn/gcc/cp/call.c:7844
0x650edf build_new_method_call_1
        /home/jamrial/gcc-svn/gcc/cp/call.c:8661
0x650edf build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, tree_node*, int, tree_node**, int)
        /home/jamrial/gcc-svn/gcc/cp/call.c:8731
0x651eae build_special_member_call(tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, tree_node*, int, int)
        /home/jamrial/gcc-svn/gcc/cp/call.c:8263
0x647d0d build_temp
        /home/jamrial/gcc-svn/gcc/cp/call.c:6395
0x647d0d convert_like_real
        /home/jamrial/gcc-svn/gcc/cp/call.c:6805
0x648f6c perform_implicit_conversion_flags(tree_node*, tree_node*, int, int)
        /home/jamrial/gcc-svn/gcc/cp/call.c:9887
0x643e6b convert_default_arg(tree_node*, tree_node*, tree_node*, int, int)
        /home/jamrial/gcc-svn/gcc/cp/call.c:7180
0x6447c0 build_over_call
        /home/jamrial/gcc-svn/gcc/cp/call.c:7748
0x6549af build_new_function_call(tree_node*, vec<tree_node*, va_gc, vl_embed>**, bool, int)
        /home/jamrial/gcc-svn/gcc/cp/call.c:4204
0x7eee4c finish_call_expr(tree_node*, vec<tree_node*, va_gc, vl_embed>**, bool, bool, int)
        /home/jamrial/gcc-svn/gcc/cp/semantics.c:2440
0x6c0298 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool)
        /home/jamrial/gcc-svn/gcc/cp/pt.c:16786
0x6b4d45 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        /home/jamrial/gcc-svn/gcc/cp/pt.c:15952
0x6b2d87 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        /home/jamrial/gcc-svn/gcc/cp/pt.c:15258
0x6b45cc tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        /home/jamrial/gcc-svn/gcc/cp/pt.c:15244
0x6b4410 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        /home/jamrial/gcc-svn/gcc/cp/pt.c:15435
0x6b1875 instantiate_decl(tree_node*, int, bool)
        /home/jamrial/gcc-svn/gcc/cp/pt.c:22189
0x6fa71b instantiate_pending_templates(int)
        /home/jamrial/gcc-svn/gcc/cp/pt.c:22306
0x73e361 c_parse_final_cleanups()
        /home/jamrial/gcc-svn/gcc/cp/decl2.c:4506
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.
Comment 1 Markus Trippelsdorf 2016-10-17 07:27:33 UTC
struct A;
using variant_nil = int;
template <typename Fun, typename Proj = A>
void variant_visit_(int, variant_nil, Fun, Proj = {});
struct A {};
void get() {
  variant_visit_(0, 0, int{});
}
Comment 2 Markus Trippelsdorf 2016-10-17 07:29:53 UTC
Probably started with r240845.

commit ceab25e5373630b8c1d306e9baf9e56645b34be5
Author: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Thu Oct 6 21:24:40 2016 +0000

            C++17 copy elision improvements.
Comment 3 Jakub Jelinek 2016-10-21 21:47:37 UTC
Not that one, but r240889. -std=c++17 is all that is needed.
Comment 4 Eric Niebler 2016-10-27 23:17:05 UTC
*** Bug 78137 has been marked as a duplicate of this bug. ***
Comment 5 Marek Polacek 2016-11-22 02:05:23 UTC
Fixed in r242562.