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

            Bug ID: 78852
           Summary: ICE with Boost.Variant 1.62
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: igorr at il dot ibm.com
  Target Milestone: ---

GCC crashes, when compiling the following code with Boost 1.62:

#include <boost/variant.hpp>

template<class Node>
struct node1_type;

struct var_type;

using var_base = boost::variant<int, 
  boost::recursive_wrapper<node1_type<var_type>>
>;

template<class Node>
struct node1_type
{
 Node child;
};

struct var_type : var_base
{
  using var_base::var_base;
};

int main()
{
  var_type v1 = 1;
}

//////////

prog.cc: In function 'int main()':
prog.cc:25:17: internal compiler error: in push_access_scope, at cp/pt.c:228
   var_type v1 = 1;
                 ^
0x603dc7 push_access_scope
        /home/heads/gcc/gcc-source/gcc/cp/pt.c:227
0x61c267 tsubst_default_argument(tree_node*, tree_node*, tree_node*, int)
        /home/heads/gcc/gcc-source/gcc/cp/pt.c:11668
0x5d5948 convert_default_arg(tree_node*, tree_node*, tree_node*, int, int)
        /home/heads/gcc/gcc-source/gcc/cp/call.c:7256
0x5daac5 build_over_call
        /home/heads/gcc/gcc-source/gcc/cp/call.c:7839
0x5d7b2a convert_like_real
        /home/heads/gcc/gcc-source/gcc/cp/call.c:6702
0x5d7c46 convert_like_real
        /home/heads/gcc/gcc-source/gcc/cp/call.c:6830
0x5df8b7 build_user_type_conversion(tree_node*, tree_node*, int, int)
        /home/heads/gcc/gcc-source/gcc/cp/call.c:3987
0x6a1a15 ocp_convert(tree_node*, tree_node*, int, int, int)
        /home/heads/gcc/gcc-source/gcc/cp/cvt.c:881
0x6a9a75 expand_default_init
        /home/heads/gcc/gcc-source/gcc/cp/init.c:1715
0x6a9a75 expand_aggr_init_1
        /home/heads/gcc/gcc-source/gcc/cp/init.c:1894
0x6a9da9 build_aggr_init(tree_node*, tree_node*, int, int)
        /home/heads/gcc/gcc-source/gcc/cp/init.c:1633
0x5f3cb5 build_aggr_init_full_exprs
        /home/heads/gcc/gcc-source/gcc/cp/decl.c:6159
0x5f3cb5 check_initializer
        /home/heads/gcc/gcc-source/gcc/cp/decl.c:6307
0x5f71ab cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int)
        /home/heads/gcc/gcc-source/gcc/cp/decl.c:7019
0x684ea9 cp_parser_init_declarator
        /home/heads/gcc/gcc-source/gcc/cp/parser.c:19339
0x6854ed cp_parser_simple_declaration
        /home/heads/gcc/gcc-source/gcc/cp/parser.c:12757
0x686065 cp_parser_block_declaration
        /home/heads/gcc/gcc-source/gcc/cp/parser.c:12592
0x686969 cp_parser_declaration_statement
        /home/heads/gcc/gcc-source/gcc/cp/parser.c:12201
0x66885f cp_parser_statement
        /home/heads/gcc/gcc-source/gcc/cp/parser.c:10688
0x6694fd cp_parser_statement_seq_opt
        /home/heads/gcc/gcc-source/gcc/cp/parser.c:11020
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