Make VertexKernelBatch public when building with clang.

There seems to be a bug in clang: despite the fact that FarMeshFactory is
declared to be a friend class from FarSubdivisionTables, clang protests that
VertexKernelBatch is not accessable.

This hack adds an #ifdef __clang__ block to make that structure public and keep
Far compiling under OSX.
This commit is contained in:
Jeremy Cowles 2012-11-11 23:17:27 -08:00
parent 3467673a6b
commit 0f6efb6aec

View File

@ -159,6 +159,11 @@ protected:
// Returns an integer based on the order in which the kernels are applied
static int getMaskRanking( unsigned char mask0, unsigned char mask1 );
#if defined(__clang__)
// XXX(jcowles): seems like there is a compiler bug in clang that requires
// this struct to be public
public:
#endif
struct VertexKernelBatch {
int kernelF; // number of face vertices
int kernelE; // number of edge vertices
@ -196,6 +201,9 @@ protected:
}
}
};
#if defined(__clang__)
protected:
#endif
// Returns the range of vertex indices of each of the 3 batches of VertexPoint
// compute Kernels (kernel application order is : B / A / A)