From d2838f77ec9149149a2c87f8bd547239e1560a70 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Thu, 28 Jul 2016 13:57:06 -0700 Subject: [PATCH] r300g: Avoid aliasing violation. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reviewed-by: Marek Olšák --- src/gallium/drivers/r300/compiler/radeon_inline_literals.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/r300/compiler/radeon_inline_literals.c b/src/gallium/drivers/r300/compiler/radeon_inline_literals.c index 492f00eea5f..c40a3807de4 100644 --- a/src/gallium/drivers/r300/compiler/radeon_inline_literals.c +++ b/src/gallium/drivers/r300/compiler/radeon_inline_literals.c @@ -28,6 +28,7 @@ #include "radeon_dataflow.h" #include "radeon_program.h" #include "radeon_program_constants.h" +#include "util/u_bitcast.h" #include #define VERBOSE 0 @@ -45,7 +46,7 @@ */ static int ieee_754_to_r300_float(float f, unsigned char *r300_float_out) { - unsigned float_bits = *((unsigned *)&f); + unsigned float_bits = u_bitcast_f2u(f); /* XXX: Handle big-endian */ unsigned mantissa = float_bits & 0x007fffff; unsigned biased_exponent = (float_bits & 0x7f800000) >> 23; -- 2.30.2