/* APPLE LOCAL file radar 4592503 */ /* Check that gcc issues warning when __weak attribute is used unwisely. */ /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */ /* { dg-options "-fobjc-gc" } */ struct S { __weak id p; /* { dg-warning "__weak attribute cannot be specified on a field declaration" } */ }; union U { __weak id p; /* { dg-warning "__weak attribute cannot be specified on a field declaration" } */ }; @interface Foo { struct { __weak id i; /* { dg-warning "__weak attribute cannot be specified on a field declaration" } */ } IVAR; union { __weak id u; /* { dg-warning "__weak attribute cannot be specified on a field declaration" } */ } UVAR; __weak id arr[3]; // ok __weak id aok; // ok } @end __weak id global; // ok __weak id ggg = 0; // ok static id ppp; // ok extern __weak id ewid; // ok int main () { __weak id local; /* { dg-warning "__weak attribute cannot be specified on a local object declaration" } */ static __weak id s; // ok extern __weak id e; // ok }