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

            Bug ID: 97201
           Summary: [11 Regression] ICE in location_wrapper_p at
                    gcc/gcc/tree.h:4002 since r11-3410-g67aeddb785ddcc86
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: msebor at gcc dot gnu.org
  Target Milestone: ---

The following causes a new ICE:

$ cat ice.ii
void testNewUseAfterFree() {
  int *p = (int *)operator new(0);
  int j = *p;
}

$ g++ -Warray-bounds=2 -fnon-call-exceptions ice.ii -c -O2
‘
during GIMPLE pass: vrp
In function ‘void testNewUseAfterFree()’:
Segmentation fault
    1 | void testNewUseAfterFree() {
      |      ^~~~~~~~~~~~~~~~~~~
0x1611858 crash_signal
        /home/marxin/Programming/gcc/gcc/toplev.c:329
0x7ffff788652f ???
       
/usr/src/debug/glibc-2.31-6.3.x86_64/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0
0x9eb801 location_wrapper_p(tree_node const*)
        /home/marxin/Programming/gcc/gcc/tree.h:4002
0x9eb87e tree_strip_any_location_wrapper(tree_node*)
        /home/marxin/Programming/gcc/gcc/tree.h:4014
0x1a5d764 integer_all_onesp(tree_node const*)
        /home/marxin/Programming/gcc/gcc/tree.c:2658
0xb272ee dump_type_suffix
        /home/marxin/Programming/gcc/gcc/cp/error.c:955
0xb25496 dump_type
        /home/marxin/Programming/gcc/gcc/cp/error.c:587
0xb32bd6 type_to_string
        /home/marxin/Programming/gcc/gcc/cp/error.c:3206
0xb369ea cp_printer
        /home/marxin/Programming/gcc/gcc/cp/error.c:4286
0x27f333c pp_format(pretty_printer*, text_info*)
        /home/marxin/Programming/gcc/gcc/pretty-print.c:1475
0x27d722e diagnostic_report_diagnostic(diagnostic_context*, diagnostic_info*)
        /home/marxin/Programming/gcc/gcc/diagnostic.c:1205
0x27d98a8 diagnostic_impl
        /home/marxin/Programming/gcc/gcc/diagnostic.c:1355
0x27d98a8 warning_at(unsigned int, int, char const*, ...)
        /home/marxin/Programming/gcc/gcc/diagnostic.c:1492
0x255e9d1 array_bounds_checker::check_mem_ref(unsigned int, tree_node*, bool)
        /home/marxin/Programming/gcc/gcc/gimple-array-bounds.cc:697
0x255f962 array_bounds_checker::check_array_bounds(tree_node**, int*, void*)
        /home/marxin/Programming/gcc/gcc/gimple-array-bounds.cc:909
0x1a845f8 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:12001
0x11acac3 walk_gimple_op(gimple*, tree_node* (*)(tree_node**, int*, void*),
walk_stmt_info*)
        /home/marxin/Programming/gcc/gcc/gimple-walk.c:202
0x255fa93 check_array_bounds_dom_walker::before_dom_children(basic_block_def*)
        /home/marxin/Programming/gcc/gcc/gimple-array-bounds.cc:966
0x253832d dom_walker::walk(basic_block_def*)
        /home/marxin/Programming/gcc/gcc/domwalk.c:309
0x255faf7 array_bounds_checker::check()
        /home/marxin/Programming/gcc/gcc/gimple-array-bounds.cc:980
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.

Reply via email to