Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / SemaObjC / Inputs / non-trivial-c-union.h
blob9738353202a4a78bde6a5789dfa4464b9a344902
1 // For backward compatibility, fields of C unions declared in system headers
2 // that have non-trivial ObjC ownership qualifications are marked as unavailable
3 // unless the qualifier is explicit and __strong.
5 #pragma clang system_header
7 typedef __strong id StrongID;
9 typedef union {
10 id f0;
11 _Nonnull id f1;
12 __weak id f2;
13 StrongID f3;
14 } U0_SystemHeader;
16 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}}
17 __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}}
18 _Nonnull id f1;
19 } U1_SystemHeader;