1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-vrp1-details -fdelete-null-pointer-checks" } */
3 /* { dg-skip-if "" keeps_null_pointer_checks } */
4 
5 void oof (void);
6 struct basic_block_def;
7 typedef struct basic_block_def *basic_block;
8 enum gimple_code
9 {
10   LAST_AND_UNUSED_GIMPLE_CODE
11 };
12 struct omp_region
13 {
14   struct omp_region *outer;
15   basic_block cont;
16 };
17 void
build_omp_regions_1(basic_block bb,struct omp_region * parent,unsigned char single_tree,enum gimple_code code)18 build_omp_regions_1 (basic_block bb, struct omp_region *parent,
19 		     unsigned char single_tree, enum gimple_code code)
20 {
21   if (code == 25)
22     parent = parent->outer;
23   else if (code == 42)
24     parent->cont = bb;
25   if (single_tree && !parent)
26     return;
27   oof ();
28 }
29 
30 /* ARM Cortex-M defined LOGICAL_OP_NON_SHORT_CIRCUIT to false,
31    so skip below test.  */
32 /* { dg-final { scan-tree-dump-times "Threaded" 1 "vrp1" { target { ! arm_cortex_m } } } } */
33 
34