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

            Bug ID: 104837
           Summary: tree check fail: in tree_operand_check, at tree.h:3948
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

Created attachment 52581
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52581&action=edit
C++ source code

The attached C++ code does this on recent gcc trunk:

bug797.cc: In substitution of ‘template<class ... T> int Nested::f1(X<T, T
...>.
..) [with T = <missing>]’:
bug797.cc:11:14:   required from here
bug797.cc:11:14: internal compiler error: tree check: expected class
‘expression
’, have ‘type’ (integer_type) in tree_operand_check, at tree.h:3948
   11 |   int a1 = f1(X<int, int, double>(), X<double, int, double>());
      |            ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0x13a35ba tree_class_check_failed(tree_node const*, tree_code_class, char
const*
, int, char const*)
        ../../trunk.git/gcc/tree.cc:8737
0x94257d unify_pack_expansion(tree_node*, tree_node*, tree_node*, tree_node*,
un
ification_kind_t, bool, bool)

The code is a copy from clang test suite, file
./SemaTemplate/pack-deduction.cpp

Reply via email to