1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 20:51:52 +01:00

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
This commit is contained in:
Yaron Keren 2015-08-06 07:59:26 +00:00
parent 5ffeb1ea3f
commit 6670ac798b

View File

@ -16,7 +16,7 @@ namespace {
// 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 @@ public:
// 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;