[Bug c++/107020] New: [OpenMP][UBSAN] ICE during GIMPLE pass: sanopt via ubsan_expand_vptr_ifn: "output_operand: invalid expression as operand"

burnus at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Sep 23 16:39:46 GMT 2022


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

            Bug ID: 107020
           Summary: [OpenMP][UBSAN] ICE during GIMPLE pass: sanopt via
                    ubsan_expand_vptr_ifn: "output_operand: invalid
                    expression as operand"
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code, openmp
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: burnus at gcc dot gnu.org
                CC: jakub at gcc dot gnu.org
  Target Milestone: ---

Created attachment 53620
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53620&action=edit
Reduced testcase, compile as: g++ -fopenmp -fsanitize=undefined test.ii

That's with https://github.com/SOLLVE/sollve_vv and running:
g++ -fopenmp -fsanitize=undefined -I ompvv \
    tests/5.0/application_kernels/declare_target_base_and_derived_class.cpp


tburnus@dem-tobiasb-u20:~/repos/sollve_vv-upstream> g++-commit -fopenmp
-fsanitize=undefined -I ompvv
tests/5.0/application_kernels/declare_target_base_and_derived_class.cpp
during GIMPLE pass: sanopt
tests/5.0/application_kernels/declare_target_base_and_derived_class.cpp: In
function ‘main._omp_fn.2’:
tests/5.0/application_kernels/declare_target_base_and_derived_class.cpp:70:3:
internal compiler error: output_operand: invalid expression as operand
   70 |   }
      |   ^
0xe54843 output_operand_lossage(char const*, ...)
        ../../repos/gcc-trunk-commit/gcc/final.cc:3192
0x152b0cd assemble_integer_with_op(char const*, rtx_def*)
        ../../repos/gcc-trunk-commit/gcc/varasm.cc:2862
0x152b0cd default_assemble_integer(rtx_def*, unsigned int, int)
        ../../repos/gcc-trunk-commit/gcc/varasm.cc:2878
0x152b14e assemble_integer(rtx_def*, unsigned int, unsigned int, int)
        ../../repos/gcc-trunk-commit/gcc/varasm.cc:2894
0x15351ac output_constant
        ../../repos/gcc-trunk-commit/gcc/varasm.cc:5270
0x1534332 output_constructor_regular_field
        ../../repos/gcc-trunk-commit/gcc/varasm.cc:5562
0x1534332 output_constructor
        ../../repos/gcc-trunk-commit/gcc/varasm.cc:5829
0x1535d15 assemble_variable_contents
        ../../repos/gcc-trunk-commit/gcc/varasm.cc:2231
0x153b513 assemble_variable(tree_node*, int, int, int)
        ../../repos/gcc-trunk-commit/gcc/varasm.cc:2410
0x153ec69 varpool_node::assemble_decl()
        ../../repos/gcc-trunk-commit/gcc/varpool.cc:596
0x120b1d8 ubsan_create_data(char const*, int, unsigned int const*, ...)
        ../../repos/gcc-trunk-commit/gcc/ubsan.cc:636
0x120e3d8 ubsan_expand_vptr_ifn(gimple_stmt_iterator*)
        ../../repos/gcc-trunk-commit/gcc/ubsan.cc:1355
0x121414f execute
        ../../repos/gcc-trunk-commit/gcc/sanopt.cc:1351


More information about the Gcc-bugs mailing list