summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2017-03-04 21:46:14 +0000
committerJohn McCall <rjmccall@apple.com>2017-03-04 21:46:14 +0000
commit66bd85a96a0569b2e9d70ed57242431b82c2a93e (patch)
tree842d2d9dff8695eb496b6f269bbd0e8768538c09
parent32e0d18605c260ad9a19b1f58c85f53606e0e142 (diff)
downloadbcm5719-llvm-66bd85a96a0569b2e9d70ed57242431b82c2a93e.tar.gz
bcm5719-llvm-66bd85a96a0569b2e9d70ed57242431b82c2a93e.zip
GCC workaround: use explicit qualification to avoid injected class name.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52625 llvm-svn: 296980
-rw-r--r--clang/include/clang/CodeGen/ConstantInitBuilder.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/clang/include/clang/CodeGen/ConstantInitBuilder.h b/clang/include/clang/CodeGen/ConstantInitBuilder.h
index 3e183e6f85d..a85fba3f3ed 100644
--- a/clang/include/clang/CodeGen/ConstantInitBuilder.h
+++ b/clang/include/clang/CodeGen/ConstantInitBuilder.h
@@ -485,8 +485,10 @@ class ConstantArrayBuilder
: public ConstantArrayBuilderTemplateBase<ConstantInitBuilderTraits> {
template <class Traits>
friend class ConstantInitBuilderTemplateBase;
+
+ // The use of explicit qualification is a GCC workaround.
template <class Impl, class Traits>
- friend class ConstantAggregateBuilderTemplateBase;
+ friend class CodeGen::ConstantAggregateBuilderTemplateBase;
ConstantArrayBuilder(ConstantInitBuilder &builder,
ConstantAggregateBuilderBase *parent,
@@ -500,8 +502,10 @@ class ConstantStructBuilder
: public ConstantStructBuilderTemplateBase<ConstantInitBuilderTraits> {
template <class Traits>
friend class ConstantInitBuilderTemplateBase;
+
+ // The use of explicit qualification is a GCC workaround.
template <class Impl, class Traits>
- friend class ConstantAggregateBuilderTemplateBase;
+ friend class CodeGen::ConstantAggregateBuilderTemplateBase;
ConstantStructBuilder(ConstantInitBuilder &builder,
ConstantAggregateBuilderBase *parent,
OpenPOWER on IntegriCloud