[clang-cl] Ignore /Wv and /Wv:17 flags
[llvm-project.git] / clang / test / Analysis / temporaries.mm
blob44d30d5d7d53508c8bd28ba77659ac92d69c1ff5
1 // RUN: %clang_analyze_cc1 -std=c++14 -analyzer-checker core,cplusplus -verify %s
3 // expected-no-diagnostics
5 #define nil ((id)0)
7 // Stripped down unique_ptr<int>
8 struct IntPtr {
9   IntPtr(): i(new int) {}
10   IntPtr(IntPtr &&o): i(o.i) { o.i = nullptr; }
11   ~IntPtr() { delete i; }
13   int *i;
16 @interface Foo {}
17   -(void) foo: (IntPtr)arg;
18 @end
20 void testArgumentRegionInvalidation(Foo *f) {
21   IntPtr ptr;
22   int *i = ptr.i;
23   [f foo: static_cast<IntPtr &&>(ptr)];
24   *i = 99; // no-warning
27 void testNilReceiverCleanup() {
28   [nil foo: IntPtr()];