aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Sema/SemaAccess.cpp
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2015-08-12 22:58:10 +0000
committerDavid Blaikie <dblaikie@gmail.com>2015-08-12 22:58:10 +0000
commit8533e96e42d9e3c3f1a89fb4e8102b192a153370 (patch)
treed00ec9adb7b68af5b22ec0c15088866842344d98 /clang/lib/Sema/SemaAccess.cpp
parent295282e0ab0671011cad8a51778e1ca17af6b28c (diff)
downloadllvm-8533e96e42d9e3c3f1a89fb4e8102b192a153370.zip
llvm-8533e96e42d9e3c3f1a89fb4e8102b192a153370.tar.gz
llvm-8533e96e42d9e3c3f1a89fb4e8102b192a153370.tar.bz2
-Wdeprecated: SavedInstanceContext is returned by value but isn't really copyable, but it can be made movable
llvm-svn: 244826
Diffstat (limited to 'clang/lib/Sema/SemaAccess.cpp')
-rw-r--r--clang/lib/Sema/SemaAccess.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/clang/lib/Sema/SemaAccess.cpp b/clang/lib/Sema/SemaAccess.cpp
index 7c1755d..e9772bc 100644
--- a/clang/lib/Sema/SemaAccess.cpp
+++ b/clang/lib/Sema/SemaAccess.cpp
@@ -182,15 +182,20 @@ struct AccessTarget : public AccessedEntity {
class SavedInstanceContext {
public:
+ SavedInstanceContext(SavedInstanceContext &&S)
+ : Target(S.Target), Has(S.Has) {
+ S.Target = nullptr;
+ }
~SavedInstanceContext() {
- Target.HasInstanceContext = Has;
+ if (Target)
+ Target->HasInstanceContext = Has;
}
private:
friend struct AccessTarget;
explicit SavedInstanceContext(AccessTarget &Target)
- : Target(Target), Has(Target.HasInstanceContext) {}
- AccessTarget &Target;
+ : Target(&Target), Has(Target.HasInstanceContext) {}
+ AccessTarget *Target;
bool Has;
};