From: John McCall Date: Sat, 4 Mar 2017 21:46:14 +0000 (+0000) Subject: GCC workaround: use explicit qualification to avoid injected class name. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ed642ad0782597955bdc243bf4198b0699f8834b;p=clang GCC workaround: use explicit qualification to avoid injected class name. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52625 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@296980 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/CodeGen/ConstantInitBuilder.h b/include/clang/CodeGen/ConstantInitBuilder.h index 3e183e6f85..a85fba3f3e 100644 --- a/include/clang/CodeGen/ConstantInitBuilder.h +++ b/include/clang/CodeGen/ConstantInitBuilder.h @@ -485,8 +485,10 @@ class ConstantArrayBuilder : public ConstantArrayBuilderTemplateBase { template friend class ConstantInitBuilderTemplateBase; + + // The use of explicit qualification is a GCC workaround. template - friend class ConstantAggregateBuilderTemplateBase; + friend class CodeGen::ConstantAggregateBuilderTemplateBase; ConstantArrayBuilder(ConstantInitBuilder &builder, ConstantAggregateBuilderBase *parent, @@ -500,8 +502,10 @@ class ConstantStructBuilder : public ConstantStructBuilderTemplateBase { template friend class ConstantInitBuilderTemplateBase; + + // The use of explicit qualification is a GCC workaround. template - friend class ConstantAggregateBuilderTemplateBase; + friend class CodeGen::ConstantAggregateBuilderTemplateBase; ConstantStructBuilder(ConstantInitBuilder &builder, ConstantAggregateBuilderBase *parent,