From 657bc3d9848e3be92029b2416031340988cd0111 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sun, 19 Aug 2012 10:33:04 +0000 Subject: Vendor import of clang trunk r162107: http://llvm.org/svn/llvm-project/cfe/trunk@162107 --- test/Analysis/inline.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'test/Analysis/inline.cpp') diff --git a/test/Analysis/inline.cpp b/test/Analysis/inline.cpp index 4eaed9fed13c..6b9a885f50f3 100644 --- a/test/Analysis/inline.cpp +++ b/test/Analysis/inline.cpp @@ -166,3 +166,30 @@ namespace PR13569_virtual { x.interface(); } } + +namespace Invalidation { + struct X { + void touch(int &x) const { + x = 0; + } + + void touch2(int &x) const; + + virtual void touchV(int &x) const { + x = 0; + } + + virtual void touchV2(int &x) const; + + int test() const { + // We were accidentally not invalidating under -analyzer-ipa=inlining + // at one point for virtual methods with visible definitions. + int a, b, c, d; + touch(a); + touch2(b); + touchV(c); + touchV2(d); + return a + b + c + d; // no-warning + } + }; +} -- cgit v1.2.3