diff options
| author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-05-03 02:26:32 +0000 |
|---|---|---|
| committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-05-03 02:26:32 +0000 |
| commit | 2a5deff59dacc152b7e45d2792198fac4fb9b637 (patch) | |
| tree | 61fbd552af536ce66351be126df1e739541ee5b8 /clang/lib/Serialization | |
| parent | 1655aee1e3572a2fee6914e172a13dd0beadf1a3 (diff) | |
| download | bcm5719-llvm-2a5deff59dacc152b7e45d2792198fac4fb9b637.tar.gz bcm5719-llvm-2a5deff59dacc152b7e45d2792198fac4fb9b637.zip | |
[PCH] Clear switch case IDs when deserializing a objc method body.
Fixes rdar://11353109 & http://llvm.org/bugs/show_bug.cgi?id=12689
llvm-svn: 156056
Diffstat (limited to 'clang/lib/Serialization')
| -rw-r--r-- | clang/lib/Serialization/ASTReaderDecl.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTReaderDecl.cpp b/clang/lib/Serialization/ASTReaderDecl.cpp index 8dd53ee7d20..15aa90b3516 100644 --- a/clang/lib/Serialization/ASTReaderDecl.cpp +++ b/clang/lib/Serialization/ASTReaderDecl.cpp @@ -629,6 +629,8 @@ void ASTDeclReader::VisitObjCMethodDecl(ObjCMethodDecl *MD) { if (Record[Idx++]) { // In practice, this won't be executed (since method definitions // don't occur in header files). + // Switch case IDs are per method body. + Reader.ClearSwitchCaseIDs(); MD->setBody(Reader.ReadStmt(F)); MD->setSelfDecl(ReadDeclAs<ImplicitParamDecl>(Record, Idx)); MD->setCmdDecl(ReadDeclAs<ImplicitParamDecl>(Record, Idx)); |

