This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/77496] New: ICE in instantiate_type, at cp/class.c:8270


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

            Bug ID: 77496
           Summary: ICE in instantiate_type, at cp/class.c:8270
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: bernd.edlinger at hotmail dot de
  Target Milestone: ---

this invalid C++ template creates an ICE:

cat test.cc
template <class x>
class z : x
{
public:
  bool zz (int) { return false; }
  int f(bool z) { return zz ? : 0; }
};

class t
{
};

int
main()
{
  z<t> x;
  return x.f(0);
}

g++ test.cc
test.cc: In instantiation of 'int z<x>::f(bool) [with x = t]':
test.cc:16:15:   required from here
test.cc:6:29: internal compiler error: in instantiate_type, at cp/class.c:8270
   int f(bool z) { return zz ? : 0; }
                          ~~~^~~~~
0x6f9bcf instantiate_type(tree_node*, tree_node*, int)
        ../../gcc-7-20160904/gcc/cp/class.c:8267
0x62eb27 perform_implicit_conversion_flags(tree_node*, tree_node*, int, int)
        ../../gcc-7-20160904/gcc/cp/call.c:9763
0x63d0f6 build_conditional_expr_1
        ../../gcc-7-20160904/gcc/cp/call.c:4811
0x63ef8c build_conditional_expr(unsigned int, tree_node*, tree_node*,
tree_node*, int)
        ../../gcc-7-20160904/gcc/cp/call.c:5237
0x77cecb build_x_conditional_expr(unsigned int, tree_node*, tree_node*,
tree_node*, int)
        ../../gcc-7-20160904/gcc/cp/typeck.c:6279
0x6a0805 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
        ../../gcc-7-20160904/gcc/cp/pt.c:16822
0x695e54 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc-7-20160904/gcc/cp/pt.c:15936
0x6948ed tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc-7-20160904/gcc/cp/pt.c:15238
0x693d48 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc-7-20160904/gcc/cp/pt.c:15419
0x6d64e4 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc-7-20160904/gcc/cp/pt.c:15213
0x6d64e4 instantiate_decl(tree_node*, int, bool)
        ../../gcc-7-20160904/gcc/cp/pt.c:22159
0x6dd29b instantiate_pending_templates(int)
        ../../gcc-7-20160904/gcc/cp/pt.c:22276
0x71feaa c_parse_final_cleanups()
        ../../gcc-7-20160904/gcc/cp/decl2.c:4617
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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]