diff options
author | Anders Carlsson <andersca@mac.com> | 2008-02-07 17:19:11 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2008-02-07 17:19:11 +0000 |
commit | 61900f0ef4fc705e62609939f30a375a9576e43d (patch) | |
tree | c3d572b8efb80268bb9418d182177396a9be9777 /AST/DeclSerialization.cpp | |
parent | 419154d6d8e80ff2083dd039095781a0eb99444f (diff) |
Handle top-level asm declarations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46855 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'AST/DeclSerialization.cpp')
-rw-r--r-- | AST/DeclSerialization.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/AST/DeclSerialization.cpp b/AST/DeclSerialization.cpp index 146ebbacbe..cb91846a02 100644 --- a/AST/DeclSerialization.cpp +++ b/AST/DeclSerialization.cpp @@ -67,6 +67,9 @@ Decl* Decl::Create(Deserializer& D) { case Typedef: return TypedefDecl::CreateImpl(D); + + case FileScopeAsm: + return FileScopeAsmDecl::CreateImpl(D); } } @@ -438,3 +441,23 @@ void LinkageSpecDecl::ReadInRec(Deserializer& D) { Language = static_cast<LanguageIDs>(D.ReadInt()); D.ReadPtr(this->D); } + +//===----------------------------------------------------------------------===// +// FileScopeAsm Serialization. +//===----------------------------------------------------------------------===// + +void FileScopeAsmDecl::EmitImpl(llvm::Serializer& S) const +{ + Decl::EmitInRec(S); + S.EmitOwnedPtr(AsmString); +} + +FileScopeAsmDecl* FileScopeAsmDecl::CreateImpl(Deserializer& D) { + FileScopeAsmDecl* decl = new FileScopeAsmDecl(SourceLocation(), 0); + + decl->Decl::ReadInRec(D); + decl->AsmString = cast<StringLiteral>(D.ReadOwnedPtr<Expr>()); +// D.ReadOwnedPtr(D.ReadOwnedPtr<StringLiteral>())<#T * * Ptr#>, <#bool AutoRegister#>)(decl->AsmString); + + return decl; +} |