Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / SemaObjC / objc-precise-lifetime-unused-variable.m
blob2a140a86b03345442d25920a1ab0f39b906d4c85
1 // RUN: %clang_cc1 -triple x86_64-apple-macos11 -fsyntax-only -fobjc-arc -fblocks -verify -Wunused-but-set-variable -Wno-objc-root-class %s
3 id getFoo(void);
5 void test() {
6   // no diagnostics for objects with precise lifetime semantics.
7   __attribute__((objc_precise_lifetime)) id x;
8   x = getFoo();
10   id x2; // expected-warning {{variable 'x2' set but not used}}
11   x2 = getFoo();
13   do {
14     __attribute__((objc_precise_lifetime)) id y;
15     y = getFoo();
17     id y2; // expected-warning {{variable 'y2' set but not used}}
18     y2 = getFoo();
19   } while(0);
21   x = ((void *)0);