Skip to content

Commit

Permalink
-Wdeprecated: SavedInstanceContext is returned by value but isn't rea…
Browse files Browse the repository at this point in the history
…lly copyable, but it can be made movable

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@244826 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
dwblaikie committed Aug 12, 2015
1 parent 99e35f0 commit 7d10404
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions lib/Sema/SemaAccess.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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;
};

Expand Down

0 comments on commit 7d10404

Please sign in to comment.