Browse Source

Fixed strict aliasing issues #212

Christophe Riccio 11 years ago
parent
commit
f310f941c6
1 changed files with 4 additions and 2 deletions
  1. 4 2
      glm/gtc/packing.inl

+ 4 - 2
glm/gtc/packing.inl

@@ -145,7 +145,8 @@ namespace detail
 		else if(glm::isinf(x))
 		else if(glm::isinf(x))
 			return 0x1f << 6;
 			return 0x1f << 6;
 
 
-		return float2packed11(reinterpret_cast<uint&>(x));
+		uint Pack = reinterpret_cast<uint&>(x);
+		return float2packed11(Pack);
 	}
 	}
 
 
 	GLM_FUNC_QUALIFIER float packed11bitToFloat(glm::uint x)
 	GLM_FUNC_QUALIFIER float packed11bitToFloat(glm::uint x)
@@ -170,7 +171,8 @@ namespace detail
 		else if(glm::isinf(x))
 		else if(glm::isinf(x))
 			return 0x1f << 5;
 			return 0x1f << 5;
 
 
-		return float2packed10(reinterpret_cast<uint&>(x));
+		uint Pack = reinterpret_cast<uint&>(x);
+		return float2packed10(Pack);
 	}
 	}
 
 
 	GLM_FUNC_QUALIFIER float packed10bitToFloat(glm::uint x)
 	GLM_FUNC_QUALIFIER float packed10bitToFloat(glm::uint x)