Explicitly cast memory barriers to avoid strict aliasing violation

This commit is contained in:
baldurk committed 2016-11-12 18:59:38 +01:00
1 parent 20b4cc8d2f
commit d164d560d5
1 file changed
+4 -2
@@ -312,7 +312,8 @@ string ToStrHelper<false, MemoryBarrierBitfield>::Get(const MemoryBarrierBitfiel
bool WrappedOpenGL::Serialise_glMemoryBarrier(GLbitfield barriers)
{
SERIALISE_ELEMENT(MemoryBarrierBitfield, Barriers, (MemoryBarrierBitfield &)barriers);
MemoryBarrierBitfield b = (MemoryBarrierBitfield)barriers;
SERIALISE_ELEMENT(MemoryBarrierBitfield, Barriers, b);
RDCCOMPILE_ASSERT(sizeof(MemoryBarrierBitfield) == sizeof(uint32_t),
"Fake bitfield enum must be uint32_t sized");
@@ -346,7 +347,8 @@ void WrappedOpenGL::glMemoryBarrier(GLbitfield barriers)
bool WrappedOpenGL::Serialise_glMemoryBarrierByRegion(GLbitfield barriers)
{
SERIALISE_ELEMENT(MemoryBarrierBitfield, Barriers, (MemoryBarrierBitfield &)barriers);
MemoryBarrierBitfield b = (MemoryBarrierBitfield)barriers;
SERIALISE_ELEMENT(MemoryBarrierBitfield, Barriers, b);
RDCCOMPILE_ASSERT(sizeof(MemoryBarrierBitfield) == sizeof(uint32_t),
"Fake bitfield enum must be uint32_t sized");