From 782bfcfd0ce307e0252d0e4902d752212a07b640 Mon Sep 17 00:00:00 2001 From: Aleksei Sidorin Date: Wed, 14 Feb 2018 11:39:33 +0000 Subject: [PATCH] Quick fix for 325116 buildbots: move template specialization into namespace llvm-svn: 325118 --- clang/lib/AST/ASTImporter.cpp | 56 ++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/clang/lib/AST/ASTImporter.cpp b/clang/lib/AST/ASTImporter.cpp index 0753f265577b..ac262e706297 100644 --- a/clang/lib/AST/ASTImporter.cpp +++ b/clang/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