diff options
| author | Ted Kremenek <kremenek@apple.com> | 2007-10-23 22:18:37 +0000 |
|---|---|---|
| committer | Ted Kremenek <kremenek@apple.com> | 2007-10-23 22:18:37 +0000 |
| commit | f25f4a3de029e45d924abb2d5f41c32c170ad49d (patch) | |
| tree | 451d831f28e8b0e2c7bb15756905cb003e4c54d2 /clang/Basic/TokenKinds.cpp | |
| parent | 97e3be7995dd91e4fe4a3ca9cce195bb0895ca11 (diff) | |
| download | bcm5719-llvm-f25f4a3de029e45d924abb2d5f41c32c170ad49d.tar.gz bcm5719-llvm-f25f4a3de029e45d924abb2d5f41c32c170ad49d.zip | |
Implemented serialization for IdentifierInfo and IdentifierTable.
Updated serialization test code in the driver to test serialization of
these types.
llvm-svn: 43266
Diffstat (limited to 'clang/Basic/TokenKinds.cpp')
| -rw-r--r-- | clang/Basic/TokenKinds.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/clang/Basic/TokenKinds.cpp b/clang/Basic/TokenKinds.cpp index 772925b1e51..f1c1e9f6788 100644 --- a/clang/Basic/TokenKinds.cpp +++ b/clang/Basic/TokenKinds.cpp @@ -12,6 +12,7 @@ //===----------------------------------------------------------------------===// #include "clang/Basic/TokenKinds.h" +#include "llvm/Bitcode/Serialization.h" #include <cassert> using namespace clang; @@ -26,3 +27,37 @@ const char *tok::getTokenName(enum TokenKind Kind) { assert(Kind < tok::NUM_TOKENS); return TokNames[Kind]; } + +// Serialization traits for TokenKind, PPKeywordKind, and ObjCKeywordKind + +void llvm::SerializeTrait<tok::TokenKind>::Serialize(llvm::Serializer& S, + tok::TokenKind X) { + S.EmitEnum(X,0,tok::NUM_TOKENS-1); +} + +void llvm::SerializeTrait<tok::TokenKind>::Deserialize(llvm::Deserializer& D, + tok::TokenKind& X) { + X = D.ReadEnum<tok::TokenKind>(0,tok::NUM_TOKENS-1); +} + +void llvm::SerializeTrait<tok::PPKeywordKind>::Serialize(llvm::Serializer& S, + tok::PPKeywordKind X) { + S.EmitEnum(X,0,tok::NUM_PP_KEYWORDS-1); +} + +void llvm::SerializeTrait<tok::PPKeywordKind>::Deserialize(llvm::Deserializer& D, + tok::PPKeywordKind& X) { + X = D.ReadEnum<tok::PPKeywordKind>(0,tok::NUM_PP_KEYWORDS-1); +} + +void +llvm::SerializeTrait<tok::ObjCKeywordKind>::Serialize(llvm::Serializer& S, + tok::ObjCKeywordKind X) { + S.EmitEnum(X,0,tok::NUM_OBJC_KEYWORDS-1); +} + +void +llvm::SerializeTrait<tok::ObjCKeywordKind>::Deserialize(llvm::Deserializer& D, + tok::ObjCKeywordKind& X) { + X = D.ReadEnum<tok::ObjCKeywordKind>(0,tok::NUM_OBJC_KEYWORDS-1); +}
\ No newline at end of file |

