1 /* { dg-do compile } */ 2 /* { dg-options "-O1 -fdump-tree-dom2" } */ 3 4 struct rtx_def; 5 typedef struct rtx_def *rtx; 6 enum rtx_code 7 { 8 REG, 9 LAST_AND_UNUSED_RTX_CODE = 256 10 }; 11 typedef union rtunion_def rtunion; 12 struct rtx_def 13 { 14 enum rtx_code code:16; 15 unsigned frame_related:1; 16 }; 17 18 static rtx find_base_value(src)19find_base_value (src) 20 rtx src; 21 { 22 rtx temp; 23 rtx src_0, src_2; 24 rtx src_1, src_3; 25 26 if ((src_0->code == REG) && (({src_2;})->frame_related)) 27 return find_base_value (src_0); 28 if ((src_1->code == REG) && (({ src_3;})->frame_related)) 29 return find_base_value (src_1); 30 if (src_0->code == REG) 31 find_base_value (src_0); 32 if (src_1->code == REG) 33 find_base_value (src_1); 34 } 35 36 rtx find_base_value_wrapper(src)37find_base_value_wrapper (src) 38 rtx src; 39 { 40 return find_base_value (src); 41 } 42 43 /* There should be no casts to short unsigned int. */ 44 /* { dg-final { scan-tree-dump-times "\\(short unsigned int\\)" 0 "dom2"} } */ 45 46