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