1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-optimized -fno-short-enums" } */
3 typedef const union tree_node
*const_tree
;
8 double_int
double_int_zext (double_int
, unsigned);
10 { ERROR_MARK
, IDENTIFIER_NODE
, TREE_LIST
, BLOCK
, ENUMERAL_TYPE
, BOOLEAN_TYPE
,
11 INTEGER_TYPE
, ARRAY_TYPE
, INTEGER_CST
, VAR_DECL
, PARM_DECL
, RESULT_DECL
,
14 { tcc_exceptional
, tcc_constant
, tcc_type
, tcc_declaration
, tcc_reference
, };
17 __extension__
enum tree_code code
:16;
18 unsigned unsigned_flag
:1;
22 unsigned int precision
:10;
23 union tree_type_symtab
29 struct tree_base base
;
30 struct tree_type type
;
32 const enum tree_code_class tree_code_type
[] =
33 { tcc_exceptional
, 1, 0, 0, 0, 0, 2, };
34 extern void tree_class_check_failed (const_tree
, const char *);
37 int_fits_type_p (const_tree c
, const_tree type
)
41 if (((enum tree_code
) (type
)->base
.code
) == INTEGER_TYPE
&& ((
56 tree_class_check_failed
62 dd
= double_int_zext (dd
, ((
64 __typeof (type
) __t
= (type
);
67 (((enum tree_code
) (__t
)->base
.
70 tree_class_check_failed (__t
,
76 /* The switch should be switch converted and later constant propagated. */
77 /* { dg-final { scan-tree-dump-not "tree_code_type" "optimized"} } */