diff options
author | Aaron Ballman <aaron@aaronballman.com> | 2014-03-21 15:22:56 +0000 |
---|---|---|
committer | Aaron Ballman <aaron@aaronballman.com> | 2014-03-21 15:22:56 +0000 |
commit | 4f45b71b10ae107f771ae22ed1be006ea79be4c9 (patch) | |
tree | 90f47bf1c26293386a0cb806b7f651d666048ae7 /clang | |
parent | e275e9216bafc424d83b28cceecf6b257eb99ac4 (diff) | |
download | bcm5719-llvm-4f45b71b10ae107f771ae22ed1be006ea79be4c9.tar.gz bcm5719-llvm-4f45b71b10ae107f771ae22ed1be006ea79be4c9.zip |
Fixing code that doesn't compile in MSVC 2012 (but does in MSVC 2013) from r204417 and related commits.
llvm-svn: 204471
Diffstat (limited to 'clang')
-rw-r--r-- | clang/include/clang/Serialization/ASTReader.h | 3 | ||||
-rw-r--r-- | clang/lib/Serialization/ASTReader.cpp | 2 | ||||
-rw-r--r-- | clang/lib/Serialization/ASTWriter.cpp | 38 | ||||
-rw-r--r-- | clang/lib/Serialization/ASTWriterDecl.cpp | 2 |
4 files changed, 28 insertions, 17 deletions
diff --git a/clang/include/clang/Serialization/ASTReader.h b/clang/include/clang/Serialization/ASTReader.h index 6dfd3425173..b0fde2b2666 100644 --- a/clang/include/clang/Serialization/ASTReader.h +++ b/clang/include/clang/Serialization/ASTReader.h @@ -770,6 +770,9 @@ private: struct ImportedSubmodule { serialization::SubmoduleID ID; SourceLocation ImportLoc; + + ImportedSubmodule(serialization::SubmoduleID ID, SourceLocation ImportLoc) + : ID(ID), ImportLoc(ImportLoc) {} }; /// \brief A list of modules that were imported by precompiled headers or diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index e07f5dcd5a9..abb6c9cc399 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -3017,7 +3017,7 @@ bool ASTReader::ReadASTBlock(ModuleFile &F) { unsigned GlobalID = getGlobalSubmoduleID(F, Record[I++]); SourceLocation Loc = ReadSourceLocation(F, Record, I); if (GlobalID) - ImportedModules.push_back({GlobalID, Loc}); + ImportedModules.push_back(ImportedSubmodule(GlobalID, Loc)); } } break; diff --git a/clang/lib/Serialization/ASTWriter.cpp b/clang/lib/Serialization/ASTWriter.cpp index 1399ce2434c..0aa539ef595 100644 --- a/clang/lib/Serialization/ASTWriter.cpp +++ b/clang/lib/Serialization/ASTWriter.cpp @@ -4082,7 +4082,7 @@ void ASTWriter::WriteASTCore(Sema &SemaRef, if (NamespaceDecl *NS = TU->getAnonymousNamespace()) { ASTWriter::UpdateRecord &Record = DeclUpdates[TU]; if (Record.empty()) - Record.push_back({UPD_CXX_ADDED_ANONYMOUS_NAMESPACE, NS}); + Record.push_back(DeclUpdate(UPD_CXX_ADDED_ANONYMOUS_NAMESPACE, NS)); } // Add update records for all mangling numbers and static local numbers. @@ -4090,11 +4090,12 @@ void ASTWriter::WriteASTCore(Sema &SemaRef, // tagging this rare extra data onto the declarations. for (const auto &Number : Context.MangleNumbers) if (!Number.first->isFromASTFile()) - DeclUpdates[Number.first].push_back({UPD_MANGLING_NUMBER, Number.second}); + DeclUpdates[Number.first].push_back(DeclUpdate(UPD_MANGLING_NUMBER, + Number.second)); for (const auto &Number : Context.StaticLocalNumbers) if (!Number.first->isFromASTFile()) - DeclUpdates[Number.first].push_back({UPD_STATIC_LOCAL_NUMBER, - Number.second}); + DeclUpdates[Number.first].push_back(DeclUpdate(UPD_STATIC_LOCAL_NUMBER, + Number.second)); // Make sure visible decls, added to DeclContexts previously loaded from // an AST file, are registered for serialization. @@ -4291,12 +4292,16 @@ void ASTWriter::WriteASTCore(Sema &SemaRef, if (!WritingModule) { // Write the submodules that were imported, if any. - struct ModuleInfo { uint64_t ID; Module *M; }; + struct ModuleInfo { + uint64_t ID; + Module *M; + ModuleInfo(uint64_t ID, Module *M) : ID(ID), M(M) {} + }; llvm::SmallVector<ModuleInfo, 64> Imports; for (const auto *I : Context.local_imports()) { assert(SubmoduleIDs.find(I->getImportedModule()) != SubmoduleIDs.end()); - Imports.push_back({SubmoduleIDs[I->getImportedModule()], - I->getImportedModule()}); + Imports.push_back(ModuleInfo(SubmoduleIDs[I->getImportedModule()], + I->getImportedModule())); } if (!Imports.empty()) { @@ -5309,7 +5314,7 @@ void ASTWriter::AddedCXXImplicitMember(const CXXRecordDecl *RD, const Decl *D) { // A decl coming from PCH was modified. assert(RD->isCompleteDefinition()); - DeclUpdates[RD].push_back({UPD_CXX_ADDED_IMPLICIT_MEMBER, D}); + DeclUpdates[RD].push_back(DeclUpdate(UPD_CXX_ADDED_IMPLICIT_MEMBER, D)); } void ASTWriter::AddedCXXTemplateSpecialization(const ClassTemplateDecl *TD, @@ -5320,7 +5325,8 @@ void ASTWriter::AddedCXXTemplateSpecialization(const ClassTemplateDecl *TD, if (!(!D->isFromASTFile() && TD->isFromASTFile())) return; // Not a source specialization added to a template from PCH. - DeclUpdates[TD].push_back({UPD_CXX_ADDED_TEMPLATE_SPECIALIZATION, D}); + DeclUpdates[TD].push_back(DeclUpdate(UPD_CXX_ADDED_TEMPLATE_SPECIALIZATION, + D)); } void ASTWriter::AddedCXXTemplateSpecialization( @@ -5331,7 +5337,8 @@ void ASTWriter::AddedCXXTemplateSpecialization( if (!(!D->isFromASTFile() && TD->isFromASTFile())) return; // Not a source specialization added to a template from PCH. - DeclUpdates[TD].push_back({UPD_CXX_ADDED_TEMPLATE_SPECIALIZATION, D}); + DeclUpdates[TD].push_back(DeclUpdate(UPD_CXX_ADDED_TEMPLATE_SPECIALIZATION, + D)); } void ASTWriter::AddedCXXTemplateSpecialization(const FunctionTemplateDecl *TD, @@ -5342,7 +5349,8 @@ void ASTWriter::AddedCXXTemplateSpecialization(const FunctionTemplateDecl *TD, if (!(!D->isFromASTFile() && TD->isFromASTFile())) return; // Not a source specialization added to a template from PCH. - DeclUpdates[TD].push_back({UPD_CXX_ADDED_TEMPLATE_SPECIALIZATION, D}); + DeclUpdates[TD].push_back(DeclUpdate(UPD_CXX_ADDED_TEMPLATE_SPECIALIZATION, + D)); } void ASTWriter::ResolvedExceptionSpec(const FunctionDecl *FD) { @@ -5360,7 +5368,7 @@ void ASTWriter::DeducedReturnType(const FunctionDecl *FD, QualType ReturnType) { if (!FD->isFromASTFile()) return; // Not a function declared in PCH and defined outside. - DeclUpdates[FD].push_back({UPD_CXX_DEDUCED_RETURN_TYPE, ReturnType}); + DeclUpdates[FD].push_back(DeclUpdate(UPD_CXX_DEDUCED_RETURN_TYPE, ReturnType)); } void ASTWriter::CompletedImplicitDefinition(const FunctionDecl *D) { @@ -5381,8 +5389,8 @@ void ASTWriter::StaticDataMemberInstantiated(const VarDecl *D) { // Since the actual instantiation is delayed, this really means that we need // to update the instantiation location. DeclUpdates[D].push_back( - {UPD_CXX_INSTANTIATED_STATIC_DATA_MEMBER, - D->getMemberSpecializationInfo()->getPointOfInstantiation()}); + DeclUpdate(UPD_CXX_INSTANTIATED_STATIC_DATA_MEMBER, + D->getMemberSpecializationInfo()->getPointOfInstantiation())); } void ASTWriter::AddedObjCCategoryToInterface(const ObjCCategoryDecl *CatD, @@ -5416,5 +5424,5 @@ void ASTWriter::DeclarationMarkedUsed(const Decl *D) { if (!D->isFromASTFile()) return; - DeclUpdates[D].push_back({UPD_DECL_MARKED_USED}); + DeclUpdates[D].push_back(DeclUpdate(UPD_DECL_MARKED_USED)); } diff --git a/clang/lib/Serialization/ASTWriterDecl.cpp b/clang/lib/Serialization/ASTWriterDecl.cpp index b8599dcaeb9..7ee4e31978c 100644 --- a/clang/lib/Serialization/ASTWriterDecl.cpp +++ b/clang/lib/Serialization/ASTWriterDecl.cpp @@ -896,7 +896,7 @@ void ASTDeclWriter::VisitNamespaceDecl(NamespaceDecl *D) { D->getParent()->getRedeclContext()->getPrimaryContext()); if (Parent->isFromASTFile() || isa<TranslationUnitDecl>(Parent)) { Writer.DeclUpdates[Parent].push_back( - {UPD_CXX_ADDED_ANONYMOUS_NAMESPACE, D}); + ASTWriter::DeclUpdate(UPD_CXX_ADDED_ANONYMOUS_NAMESPACE, D)); } } } |