diff options
author | Jordan Rose <jordan_rose@apple.com> | 2015-04-30 17:20:30 +0000 |
---|---|---|
committer | Jordan Rose <jordan_rose@apple.com> | 2015-04-30 17:20:30 +0000 |
commit | 60ac31629fe8f248214f11951a45344bff6eaea1 (patch) | |
tree | 9c6ec9333cff9363c6c422d33ee5f9b02ed11b2b /clang/lib/Parse/RAIIObjectsForParser.h | |
parent | 808fff585b13aac849a057a0886e8b2949abdaae (diff) | |
download | bcm5719-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.h | 6 |
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"); |