1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-dom2-details -w" } */
4 typedef union tree_node
*tree
;
7 int x_flag_finite_math_only
;
9 extern struct gcc_options global_options
;
11 { MODE_RANDOM
, MODE_CC
, MODE_INT
, MODE_PARTIAL_INT
, MODE_FRACT
, MODE_UFRACT
,
12 MODE_ACCUM
, MODE_UACCUM
, MODE_FLOAT
, MODE_DECIMAL_FLOAT
, MODE_COMPLEX_INT
,
13 MODE_COMPLEX_FLOAT
, MODE_VECTOR_INT
, MODE_VECTOR_FRACT
,
14 MODE_VECTOR_UFRACT
, MODE_VECTOR_ACCUM
, MODE_VECTOR_UACCUM
,
15 MODE_VECTOR_FLOAT
, MAX_MODE_CLASS
17 extern const unsigned char mode_class
[27];
18 extern const unsigned char mode_inner
[27];
24 unsigned char has_inf
;
26 extern const struct real_format
*real_format_for_mode
[5 -
35 struct tree_type type
;
38 omp_reduction_init (tree clause
, tree type
)
40 if ((((type
)->code
) == 64))
42 struct real_value max
;
43 if (((((mode_class
[((((type
))->code
) ==
45 vector_type_mode (type
)
49 ((real_format_for_mode
50 [((mode_class
[((mode_class
[((((type
))->code
) ==
52 vector_type_mode (type
)
54 12) ? (((((type
))->code
)
60 : (mode_inner
[((((type
))->code
) ==
62 vector_type_mode (type
)
63 : (type
)->mode
)])]) ==
65 ? (((((mode_class
[((((type
))->code
) ==
66 32 ? vector_type_mode (type
)
68 12) ? (((((type
))->code
) ==
70 vector_type_mode (type
)
71 : (type
)->mode
)) : (mode_inner
74 vector_type_mode (type
)
75 : (type
)->mode
)])) - 10) +
80 32 ? vector_type_mode (type
) : (type
)->mode
)]) ==
81 12) ? (((((type
))->code
) ==
82 32 ? vector_type_mode (type
) : (type
)->
83 mode
)) : (mode_inner
[((((type
))->code
) ==
84 32 ? vector_type_mode (type
)
86 2)]))->has_inf
) && !global_options
.x_flag_finite_math_only
))
91 /* { dg-final { scan-tree-dump "Marking all outgoing edges of unreachable" "dom2"} } */