2 /* { dg-require-effective-target lp64 } */
4 typedef unsigned long size_t;
9 struct tree_decl_minimal
11 struct tree_base base
;
14 typedef union tree_node
{
15 struct tree_base base
;
16 struct tree_decl_minimal decl_minimal
;
20 struct tree_base common
;
23 typedef struct VEC_tree_base
{ unsigned num
; unsigned alloc
; tree vec
[1]; } VEC_tree_base
;
24 typedef struct VEC_tree_gc
{ VEC_tree_base base
; } VEC_tree_gc
;
25 static __inline__
unsigned VEC_tree_base_length (const VEC_tree_base
*vec_
)
26 { return vec_
? vec_
->num
: 0; }
27 static __inline__
int VEC_tree_base_iterate (const VEC_tree_base
*vec_
, unsigned ix_
, tree
*ptr
)
29 if (vec_
&& ix_
< vec_
->num
) { *ptr
= vec_
->vec
[ix_
]; return 1; } else { *ptr
= 0; return 0; }
31 extern void abort (void);
32 void __attribute__((noinline
)) foo (size_t x
)
34 if (x
!= 18446744073709551614UL)
38 resort_type_method_vec (VEC_tree_gc
*method_vec
)
40 int len
= (VEC_tree_base_length(((method_vec
) ? &(method_vec
)->base
: 0)));
45 (VEC_tree_base_iterate(((method_vec
) ? &(method_vec
)->base
: 0),slot
,&(fn
)));
47 if (!(((((((fn
)->base
.code
) == 225) ? (((struct tree_overload
*)(fn
))->function
) : (fn
)))->decl_minimal
.name
)))
56 resort_type_method_vec ((void *)0);