// RUN: %clang_cc1 -fsyntax-only -verify %s
int wrong_subject_type; // expected-warning{{'enforce_tcb' attribute only applies to functions}}
void ; // expected-error{{'enforce_tcb' attribute takes one argument}}
void ; // expected-error{{'enforce_tcb' attribute takes one argument}}
void ; // expected-error{{'enforce_tcb' attribute requires a string}}
int wrong_subject_type_leaf; // expected-warning{{'enforce_tcb_leaf' attribute only applies to functions}}
void ; // expected-error{{'enforce_tcb_leaf' attribute takes one argument}}
void ; // expected-error{{'enforce_tcb_leaf' attribute takes one argument}}
void ; // expected-error{{'enforce_tcb_leaf' attribute requires a string}}
void ;
// expected-error{{attributes 'enforce_tcb_leaf("x")' and 'enforce_tcb("x")' are mutually exclusive}}
void
// expected-note{{conflicting attribute is here}}
void ;
// expected-error{{attributes 'enforce_tcb("x")' and 'enforce_tcb_leaf("x")' are mutually exclusive}}
void
// expected-error{{attributes 'enforce_tcb("x")' and 'enforce_tcb_leaf("x")' are mutually exclusive}}
void
// expected-note{{conflicting attribute is here}}
void ;
// expected-error{{attributes 'enforce_tcb_leaf("x")' and 'enforce_tcb("x")' are mutually exclusive}}
void
// no-error
void
// no-error
void
void ;
// no-error
void
void ;
void
// expected-error{{attributes 'enforce_tcb_leaf("x")' and 'enforce_tcb("x")' are mutually exclusive}}
void