From 60d3ad956c28dc96de6ab3deec3885b3481018cb Mon Sep 17 00:00:00 2001 From: Chandler Carruth Date: Wed, 30 Dec 2015 06:21:02 +0000 Subject: [PATCH] [ptr-traits] Some compilers (older Clang? unsure) on build bots need this constructor to be out of line in order to not require the complete type of TemplateDecl. Hopefully this will fix the build bots. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@256629 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/AST/TemplateName.h | 4 +--- lib/AST/TemplateName.cpp | 4 ++++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/include/clang/AST/TemplateName.h b/include/clang/AST/TemplateName.h index 85304e9f95..3e10d2fc4a 100644 --- a/include/clang/AST/TemplateName.h +++ b/include/clang/AST/TemplateName.h @@ -180,9 +180,7 @@ class TemplateName { StorageType Storage; - explicit TemplateName(void *Ptr) { - Storage = StorageType::getFromOpaqueValue(Ptr); - } + explicit TemplateName(void *Ptr); public: // \brief Kind of name that is actually stored. diff --git a/lib/AST/TemplateName.cpp b/lib/AST/TemplateName.cpp index f46f3cffde..47e0255d52 100644 --- a/lib/AST/TemplateName.cpp +++ b/lib/AST/TemplateName.cpp @@ -51,6 +51,10 @@ void SubstTemplateTemplateParmPackStorage::Profile(llvm::FoldingSetNodeID &ID, ArgPack.Profile(ID, Context); } +TemplateName::TemplateName(void *Ptr) { + Storage = StorageType::getFromOpaqueValue(Ptr); +} + TemplateName::TemplateName(TemplateDecl *Template) : Storage(Template) {} TemplateName::TemplateName(OverloadedTemplateStorage *Storage) : Storage(Storage) {} -- 2.50.1