47 lines
637 B
C
47 lines
637 B
C
/* { dg-do compile } */
|
|
/* { dg-options "-O2" } */
|
|
|
|
typedef union tree_node *tree;
|
|
|
|
struct tree_base
|
|
{
|
|
int code;
|
|
};
|
|
|
|
struct tree_typed
|
|
{
|
|
struct tree_base base;
|
|
tree type;
|
|
};
|
|
|
|
struct tree_common
|
|
{
|
|
struct tree_typed typed;
|
|
};
|
|
|
|
struct tree_type_common
|
|
{
|
|
tree main_variant;
|
|
};
|
|
|
|
union tree_node
|
|
{
|
|
struct tree_base base;
|
|
struct tree_typed typed;
|
|
struct tree_type_common type_common;
|
|
};
|
|
|
|
int std_canonical_va_list_type (tree type)
|
|
{
|
|
if (type->base.code)
|
|
type = type->typed.type;
|
|
else
|
|
if (type->typed.type->base.code)
|
|
type = type->typed.type;
|
|
|
|
if (type->type_common.main_variant)
|
|
return 1;
|
|
|
|
return 0;
|
|
}
|