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

            Bug ID: 85956
           Summary: [9 Regression] ICE in wide_int_to_tree_1, at
                    tree.c:1549
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gs...@t-online.de
  Target Milestone: ---

Changed between 20180506 and 20180513, ICE at -O[s23].
Derived from gomp/pr85696.c :


$ cat z1.c
void
foo (int n, void *p)
{
  int (*a)[n] = (int (*)[n]) p;
  #pragma omp parallel shared(a) default(none)
  #pragma omp master
    a[-1][-1] = 42;
}


$ gcc-9-20180527 -c z1.c -Wall -fopenmp -O1
$
$ gcc-9-20180527 -c z1.c -Wall -fopenmp -O2
'int[
during GIMPLE pass: vrp
In function 'foo._omp_fn.0':
in wide_int_to_tree_1, at tree.c:1549
   #pragma omp parallel shared(a) default(none)
           ^~~
0xd38643 wide_int_to_tree_1
        ../../gcc/tree.c:1549
0xd38bbb wide_int_to_tree(tree_node*, poly_int<1u,
generic_wide_int<wide_int_ref_storage<false, true> > > const&)
        ../../gcc/tree.c:1674
0xd38bbb build_int_cst(tree_node*, poly_int<1u, long>)
        ../../gcc/tree.c:1342
0x701f60 c_pretty_printer::direct_abstract_declarator(tree_node*)
        ../../gcc/c-family/c-pretty-print.c:582
0x693ef3 c_tree_printer
        ../../gcc/c/c-objc-common.c:147
0x1257043 pp_format(pretty_printer*, text_info*)
        ../../gcc/pretty-print.c:1375
0x125004b diagnostic_report_diagnostic(diagnostic_context*, diagnostic_info*)
        ../../gcc/diagnostic.c:984
0x12504c3 diagnostic_impl
        ../../gcc/diagnostic.c:1108
0x12508e0 warning_at(unsigned int, int, char const*, ...)
        ../../gcc/diagnostic.c:1223
0xd18056 vrp_prop::check_array_ref(unsigned int, tree_node*, bool)
        ../../gcc/tree-vrp.c:4990
0xd247bf vrp_prop::check_array_ref(unsigned int, tree_node*, bool)
        ../../gcc/tree-vrp.c:4876
0xd247bf check_array_bounds
        ../../gcc/tree-vrp.c:5090
0xd3e483 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*, tree_node*
(*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*,
hash_set<tree_node*, default_hash_traits<tree_node*> >*))
        ../../gcc/tree.c:11400
0x8c26e3 walk_gimple_op(gimple*, tree_node* (*)(tree_node**, int*, void*),
walk_stmt_info*)
        ../../gcc/gimple-walk.c:221
0xd11cfc check_array_bounds_dom_walker::before_dom_children(basic_block_def*)
        ../../gcc/tree-vrp.c:5144
0x1145c9f dom_walker::walk(basic_block_def*)
        ../../gcc/domwalk.c:353
0xd14e1c vrp_prop::check_all_array_refs()
        ../../gcc/tree-vrp.c:5161
0xd15d8d vrp_prop::vrp_finalize(bool)
        ../../gcc/tree-vrp.c:6937
0xd250d3 execute_vrp
        ../../gcc/tree-vrp.c:7010

Reply via email to