summaryrefslogtreecommitdiffstats
path: root/clang/Basic/TokenKinds.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2007-10-23 22:18:37 +0000
committerTed Kremenek <kremenek@apple.com>2007-10-23 22:18:37 +0000
commitf25f4a3de029e45d924abb2d5f41c32c170ad49d (patch)
tree451d831f28e8b0e2c7bb15756905cb003e4c54d2 /clang/Basic/TokenKinds.cpp
parent97e3be7995dd91e4fe4a3ca9cce195bb0895ca11 (diff)
downloadbcm5719-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.cpp35
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
OpenPOWER on IntegriCloud