[Bug c++/95311] New: [11 Regression] ICE in cp_ubsan_maybe_instrument_member_call at gcc/cp/cp-ubsan.c:136 since r11-578-g72af65b91cc2a2eb

marxin at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon May 25 08:56:21 GMT 2020


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

            Bug ID: 95311
           Summary: [11 Regression] ICE in
                    cp_ubsan_maybe_instrument_member_call at
                    gcc/cp/cp-ubsan.c:136 since r11-578-g72af65b91cc2a2eb
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: jason at gcc dot gnu.org
  Target Milestone: ---

I see the following ICE:

$ g++ /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/ipa/pr63470.C
-fsanitize=undefined -c
/home/marxin/Programming/gcc/gcc/testsuite/g++.dg/ipa/pr63470.C: In member
function ‘virtual bool FTjackSupport::m_fn1()’:
/home/marxin/Programming/gcc/gcc/testsuite/g++.dg/ipa/pr63470.C:45:1: internal
compiler error: tree check: expected class ‘expression’, have ‘declaration’
(parm_decl) in tree_operand_check, at tree.h:3794
   45 | }
      | ^
0x848120 tree_class_check_failed(tree_node const*, tree_code_class, char
const*, int, char const*)
        /home/marxin/Programming/gcc/gcc/tree.c:9736
0x6408d7 expr_check(tree_node*, char const*, int, char const*)
        /home/marxin/Programming/gcc/gcc/tree.h:3465
0x6408d7 tree_operand_check(tree_node*, int, char const*, int, char const*)
        /home/marxin/Programming/gcc/gcc/tree.h:3794
0x6408d7 cp_ubsan_maybe_instrument_member_call(tree_node*)
        /home/marxin/Programming/gcc/gcc/cp/cp-ubsan.c:136
0x9a4633 cp_genericize_r
        /home/marxin/Programming/gcc/gcc/cp/cp-gimplify.c:1713
0x138d083 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
        /home/marxin/Programming/gcc/gcc/tree.c:11956
0x138d948 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
        /home/marxin/Programming/gcc/gcc/tree.c:12286
0x138d948 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
        /home/marxin/Programming/gcc/gcc/tree.c:12286
0x9a559a cp_genericize_r
        /home/marxin/Programming/gcc/gcc/cp/cp-gimplify.c:1785
0x138d083 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
        /home/marxin/Programming/gcc/gcc/tree.c:11956
0x9a5da2 cp_genericize_r
        /home/marxin/Programming/gcc/gcc/cp/cp-gimplify.c:1455
0x138d083 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
        /home/marxin/Programming/gcc/gcc/tree.c:11956
0x9a3498 cp_genericize_tree
        /home/marxin/Programming/gcc/gcc/cp/cp-gimplify.c:1820
0x9a3724 cp_genericize(tree_node*)
        /home/marxin/Programming/gcc/gcc/cp/cp-gimplify.c:1969
0x9e5111 finish_function(bool)
        /home/marxin/Programming/gcc/gcc/cp/decl.c:17192
0xa9122a cp_parser_function_definition_after_declarator
        /home/marxin/Programming/gcc/gcc/cp/parser.c:29015
0xa92001 cp_parser_function_definition_from_specifiers_and_declarator
        /home/marxin/Programming/gcc/gcc/cp/parser.c:28928
0xa92001 cp_parser_init_declarator
        /home/marxin/Programming/gcc/gcc/cp/parser.c:20685
0xa71253 cp_parser_simple_declaration
        /home/marxin/Programming/gcc/gcc/cp/parser.c:13749
0xa99f47 cp_parser_declaration
        /home/marxin/Programming/gcc/gcc/cp/parser.c:13448
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.


More information about the Gcc-bugs mailing list