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 | bcc3a4bf6421de70637df58db8b9d0fc72154ef9 (patch) | |
| tree | 2019d7aef2eea31995ec557044b67a358c7d878a /clang/AST/DeclSerialization.cpp | |
| parent | 63a8452e9ce57568b502808dc0e59209d7e71b54 (diff) | |
| download | bcm5719-llvm-bcc3a4bf6421de70637df58db8b9d0fc72154ef9.tar.gz bcm5719-llvm-bcc3a4bf6421de70637df58db8b9d0fc72154ef9.zip | |
Handle top-level asm declarations.
llvm-svn: 46855
Diffstat (limited to 'clang/AST/DeclSerialization.cpp')
| -rw-r--r-- | clang/AST/DeclSerialization.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/clang/AST/DeclSerialization.cpp b/clang/AST/DeclSerialization.cpp index 146ebbacbe1..cb91846a027 100644 --- a/clang/AST/DeclSerialization.cpp +++ b/clang/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; +} |

