From: Aleksei Sidorin Date: Wed, 14 Feb 2018 11:39:33 +0000 (+0000) Subject: Quick fix for 325116 buildbots: move template specialization into namespace X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fe7e92d45b5dd5d14b907992cd5312cd4c9e22c8;p=clang Quick fix for 325116 buildbots: move template specialization into namespace git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@325118 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AST/ASTImporter.cpp b/lib/AST/ASTImporter.cpp index 0753f26557..ac262e7062 100644 --- a/lib/AST/ASTImporter.cpp +++ b/lib/AST/ASTImporter.cpp @@ -360,8 +360,37 @@ namespace clang { // Importing overrides. void ImportOverrides(CXXMethodDecl *ToMethod, CXXMethodDecl *FromMethod); }; + + +template +bool ASTNodeImporter::ImportTemplateArgumentListInfo( + SourceLocation FromLAngleLoc, SourceLocation FromRAngleLoc, + const InContainerTy &Container, TemplateArgumentListInfo &Result) { + TemplateArgumentListInfo ToTAInfo(Importer.Import(FromLAngleLoc), + Importer.Import(FromRAngleLoc)); + if (ImportTemplateArgumentListInfo(Container, ToTAInfo)) + return true; + Result = ToTAInfo; + return false; +} + +template <> +bool ASTNodeImporter::ImportTemplateArgumentListInfo( + const TemplateArgumentListInfo &From, TemplateArgumentListInfo &Result) { + return ImportTemplateArgumentListInfo( + From.getLAngleLoc(), From.getRAngleLoc(), From.arguments(), Result); +} + +template <> +bool ASTNodeImporter::ImportTemplateArgumentListInfo< + ASTTemplateArgumentListInfo>(const ASTTemplateArgumentListInfo &From, + TemplateArgumentListInfo &Result) { + return ImportTemplateArgumentListInfo(From.LAngleLoc, From.RAngleLoc, + From.arguments(), Result); } +} // end namespace clang + //---------------------------------------------------------------------------- // Import Types //---------------------------------------------------------------------------- @@ -1322,33 +1351,6 @@ bool ASTNodeImporter::ImportTemplateArgumentListInfo( return false; } -template -bool ASTNodeImporter::ImportTemplateArgumentListInfo( - SourceLocation FromLAngleLoc, SourceLocation FromRAngleLoc, - const InContainerTy &Container, TemplateArgumentListInfo &Result) { - TemplateArgumentListInfo ToTAInfo(Importer.Import(FromLAngleLoc), - Importer.Import(FromRAngleLoc)); - if (ImportTemplateArgumentListInfo(Container, ToTAInfo)) - return true; - Result = ToTAInfo; - return false; -} - -template <> -bool ASTNodeImporter::ImportTemplateArgumentListInfo( - const TemplateArgumentListInfo &From, TemplateArgumentListInfo &Result) { - return ImportTemplateArgumentListInfo( - From.getLAngleLoc(), From.getRAngleLoc(), From.arguments(), Result); -} - -template <> -bool ASTNodeImporter::ImportTemplateArgumentListInfo< - ASTTemplateArgumentListInfo>(const ASTTemplateArgumentListInfo &From, - TemplateArgumentListInfo &Result) { - return ImportTemplateArgumentListInfo(From.LAngleLoc, From.RAngleLoc, - From.arguments(), Result); -} - bool ASTNodeImporter::IsStructuralMatch(RecordDecl *FromRecord, RecordDecl *ToRecord, bool Complain) { // Eliminate a potential failure point where we attempt to re-import