void(__attribute__((cdecl))*pfoo2)(void*)=foo;// expected-warning {{incompatible function pointer types initializing 'void (*)(void *) __attribute__((cdecl))' with an expression of type 'void (void *) __attribute__((preserve_most))'}}
void(*pfoo3)(void*)=foo;// expected-warning {{incompatible function pointer types initializing 'void (*)(void *)' with an expression of type 'void (void *) __attribute__((preserve_most))'}}
typedef_fun_ttypedef_fun_foo;// expected-note {{previous declaration is here}}
void__attribute__((preserve_most))typedef_fun_foo(intx){}// expected-error {{function declared 'preserve_most' here was previously declared without calling convention}}
structtype_test_foo{}__attribute__((preserve_most));// expected-warning {{'preserve_most' attribute only applies to functions and methods}}
void__attribute__((preserve_all))boo(void*ptr){
}
void__attribute__((preserve_all(1)))boo1(void*ptr){// expected-error {{'preserve_all' attribute takes no arguments}}
void(__attribute__((cdecl))*pboo2)(void*)=boo;// expected-warning {{incompatible function pointer types initializing 'void (*)(void *) __attribute__((cdecl))' with an expression of type 'void (void *) __attribute__((preserve_all))'}}
void(*pboo3)(void*)=boo;// expected-warning {{incompatible function pointer types initializing 'void (*)(void *)' with an expression of type 'void (void *) __attribute__((preserve_all))'}}
typedef_fun_ttypedef_fun_boo;// expected-note {{previous declaration is here}}
void__attribute__((preserve_all))typedef_fun_boo(intx){}// expected-error {{function declared 'preserve_all' here was previously declared without calling convention}}
structtype_test_boo{}__attribute__((preserve_all));// expected-warning {{'preserve_all' attribute only applies to functions and methods}}