From 87fce2b91c8fa1f10ec49e79c719159097a597c5 Mon Sep 17 00:00:00 2001 From: "bradnelson@google.com" Date: Wed, 9 Sep 2009 22:26:24 +0000 Subject: This fixes some warnings in the Linux release build. Review URL: http://codereview.chromium.org/194061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25802 0039d316-1c4b-4281-b951-d872f2087c98 --- o3d/import/cross/memory_stream_test.cc | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'o3d/import') diff --git a/o3d/import/cross/memory_stream_test.cc b/o3d/import/cross/memory_stream_test.cc index f72d7f0..3b238fe 100644 --- a/o3d/import/cross/memory_stream_test.cc +++ b/o3d/import/cross/memory_stream_test.cc @@ -239,16 +239,19 @@ TEST_F(MemoryStreamTest, EndianSanityFloat32) { uint8 *p8 = reinterpret_cast(p); MemoryWriteStream write_stream(p8, sizeof(int32) * 2); - float value = 3.14159f; - write_stream.WriteLittleEndianFloat32(value); - write_stream.WriteBigEndianFloat32(value); + union { + int32 ivalue; + float fvalue; + } value; + value.fvalue = 3.14159f; + write_stream.WriteLittleEndianFloat32(value.fvalue); + write_stream.WriteBigEndianFloat32(value.fvalue); // Verify that the bytes are in the correct order - int32 ivalue = *reinterpret_cast(&value); // interpret float as int32 - uint8 byte1 = ivalue & 0xff; - uint8 byte2 = (ivalue >> 8) & 0xff; - uint8 byte3 = (ivalue >> 16) & 0xff; - uint8 byte4 = (ivalue >> 24) & 0xff; + uint8 byte1 = value.ivalue & 0xff; + uint8 byte2 = (value.ivalue >> 8) & 0xff; + uint8 byte3 = (value.ivalue >> 16) & 0xff; + uint8 byte4 = (value.ivalue >> 24) & 0xff; // validate little-endian EXPECT_EQ(byte1, p8[0]); -- cgit v1.1