diff options
Diffstat (limited to 'Basic/SourceLocation.cpp')
-rw-r--r-- | Basic/SourceLocation.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Basic/SourceLocation.cpp b/Basic/SourceLocation.cpp new file mode 100644 index 0000000000..e39f6b7f64 --- /dev/null +++ b/Basic/SourceLocation.cpp @@ -0,0 +1,30 @@ +//==--- SourceLocation.cpp - Compact identifier for Source Files -*- C++ -*-==// +// +// The LLVM Compiler Infrastructure +// +// This file was developed by Ted Kremenek and is distributed under +// the University of Illinois Open Source License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file defines serialization methods for the SourceLocation class. +// +//===----------------------------------------------------------------------===// + +#include "clang/Basic/SourceLocation.h" +#include "llvm/Bitcode/Serialize.h" +#include "llvm/Bitcode/Deserialize.h" + +using llvm::Serializer; +using llvm::Deserializer; +using llvm::SerializeTrait; +using namespace clang; + +void SerializeTrait<SourceLocation>::Emit(Serializer& S, SourceLocation L) { + // FIXME: Add code for abbreviation. + S.EmitInt(L.getRawEncoding()); +} + +SourceLocation SerializeTrait<SourceLocation>::ReadVal(Deserializer& D) { + return SourceLocation::getFromRawEncoding(D.ReadInt()); +} |