diff options
author | Aleksei Sidorin <a.sidorin@samsung.com> | 2018-02-14 11:39:33 +0000 |
---|---|---|
committer | Aleksei Sidorin <a.sidorin@samsung.com> | 2018-02-14 11:39:33 +0000 |
commit | 782bfcfd0ce307e0252d0e4902d752212a07b640 (patch) | |
tree | 6880d1e698b5c4f1a15626867991e8da50fabc2c /clang/lib/AST/ASTImporter.cpp | |
parent | 8d9acc5342052e482a40fb27b22381f7c1a7f5d1 (diff) | |
download | bcm5719-llvm-782bfcfd0ce307e0252d0e4902d752212a07b640.tar.gz bcm5719-llvm-782bfcfd0ce307e0252d0e4902d752212a07b640.zip |
Quick fix for 325116 buildbots: move template specialization into namespace
llvm-svn: 325118
Diffstat (limited to 'clang/lib/AST/ASTImporter.cpp')
-rw-r--r-- | clang/lib/AST/ASTImporter.cpp | 56 |
1 files changed, 29 insertions, 27 deletions
diff --git a/clang/lib/AST/ASTImporter.cpp b/clang/lib/AST/ASTImporter.cpp index 0753f265577..ac262e70629 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 <typename InContainerTy> +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<TemplateArgumentListInfo>( + 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 <typename InContainerTy> -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<TemplateArgumentListInfo>( - 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 |