Fix Visual C++ error C2248:
'llvm::TrailingObjects<`anonymous-namespace'::Class1,short,llvm::NoTrailingTypeArg>::additionalSizeToAlloc' :
cannot access protected member declared in class
'llvm::TrailingObjects<`anonymous-namespace'::Class1,short,llvm::NoTrailingTypeArg>'
I'm not sure how this compiles with gcc.
Aren't protecteded members accessible only with protected or public inheritance?
llvm-svn: 244199
diff --git a/llvm/unittests/Support/TrailingObjectsTest.cpp b/llvm/unittests/Support/TrailingObjectsTest.cpp
index fe1fbf1..41e2d41 100644
--- a/llvm/unittests/Support/TrailingObjectsTest.cpp
+++ b/llvm/unittests/Support/TrailingObjectsTest.cpp
@@ -16,7 +16,7 @@
// This class, beyond being used by the test case, a nice
// demonstration of the intended usage of TrailingObjects, with a
// single trailing array.
-class Class1 final : private TrailingObjects<Class1, short> {
+class Class1 final : protected TrailingObjects<Class1, short> {
friend TrailingObjects;
unsigned NumShorts;
@@ -47,7 +47,7 @@
// Here, there are two singular optional object types appended.
// Note that it fails to compile without the alignment spec.
-class LLVM_ALIGNAS(8) Class2 final : private TrailingObjects<Class2, double, short> {
+class LLVM_ALIGNAS(8) Class2 final : protected TrailingObjects<Class2, double, short> {
friend TrailingObjects;
bool HasShort, HasDouble;