/* { dg-do compile } */ /* { dg-options "" } */ typedef _Bool __attribute__ ((__hardbool__)) hbbl; /* { dg-error "integral types" } */ typedef double __attribute__ ((__hardbool__)) hbdbl; /* { dg-error "integral types" } */ typedef _Complex int __attribute__ ((__hardbool__)) hbcplx; /* { dg-error "integral types" } */ enum x; typedef enum x __attribute__ ((__hardbool__)) hbenum; /* { dg-error "integral types" } */ struct s; typedef struct s __attribute__ ((__hardbool__)) hbstruct; /* { dg-error "integral types" } */ typedef int __attribute__ ((__hardbool__ (0, 0))) hb00; /* { dg-error "different values" } */ typedef int __attribute__ ((__hardbool__ (4, 16))) hb4x; struct s { hb4x m:2; }; /* { dg-error "is a GCC extension|different values" } */ /* { dg-warning "changes value" "warning" { target *-*-* } .-1 } */ hb4x __attribute__ ((vector_size (4 * sizeof (hb4x)))) vvar; /* { dg-error "invalid vector type" } */