summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/RAIIObjectsForParser.h
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2015-04-30 17:20:30 +0000
committerJordan Rose <jordan_rose@apple.com>2015-04-30 17:20:30 +0000
commit60ac31629fe8f248214f11951a45344bff6eaea1 (patch)
tree9c6ec9333cff9363c6c422d33ee5f9b02ed11b2b /clang/lib/Parse/RAIIObjectsForParser.h
parent808fff585b13aac849a057a0886e8b2949abdaae (diff)
downloadbcm5719-llvm-60ac31629fe8f248214f11951a45344bff6eaea1.tar.gz
bcm5719-llvm-60ac31629fe8f248214f11951a45344bff6eaea1.zip
Batch up access-related diagnostics on enum constants until the whole enum is parsed.
That way we can take any trailing availability attributes into account. rdar://problem/20713550 llvm-svn: 236241
Diffstat (limited to 'clang/lib/Parse/RAIIObjectsForParser.h')
-rw-r--r--clang/lib/Parse/RAIIObjectsForParser.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Parse/RAIIObjectsForParser.h b/clang/lib/Parse/RAIIObjectsForParser.h
index 71cfec47048..c2f49804195 100644
--- a/clang/lib/Parse/RAIIObjectsForParser.h
+++ b/clang/lib/Parse/RAIIObjectsForParser.h
@@ -58,6 +58,12 @@ namespace clang {
Active = false;
}
}
+ SuppressAccessChecks(SuppressAccessChecks &&Other)
+ : S(Other.S), DiagnosticPool(std::move(Other.DiagnosticPool)),
+ State(Other.State), Active(Other.Active) {
+ Other.Active = false;
+ }
+ void operator=(SuppressAccessChecks &&Other) = delete;
void done() {
assert(Active && "trying to end an inactive suppression");
OpenPOWER on IntegriCloud