forked from OSchip/llvm-project
20 lines
752 B
C
20 lines
752 B
C
// For backward compatibility, fields of C unions declared in system headers
|
|
// that have non-trivial ObjC ownership qualifications are marked as unavailable
|
|
// unless the qualifier is explicit and __strong.
|
|
|
|
#pragma clang system_header
|
|
|
|
typedef __strong id StrongID;
|
|
|
|
typedef union {
|
|
id f0;
|
|
_Nonnull id f1;
|
|
__weak id f2;
|
|
StrongID f3;
|
|
} U0_SystemHeader;
|
|
|
|
typedef union { // expected-note {{'U1_SystemHeader' has subobjects that are non-trivial to destruct}} expected-note {{'U1_SystemHeader' has subobjects that are non-trivial to copy}}
|
|
__strong id f0; // expected-note {{f0 has type '__strong id' that is non-trivial to destruct}} expected-note {{f0 has type '__strong id' that is non-trivial to copy}}
|
|
_Nonnull id f1;
|
|
} U1_SystemHeader;
|