summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp
diff options
context:
space:
mode:
authorVasileios Kalintiris <Vasileios.Kalintiris@imgtec.com>2015-01-15 15:36:04 +0000
committerVasileios Kalintiris <Vasileios.Kalintiris@imgtec.com>2015-01-15 15:36:04 +0000
commit799d5c924e36f275017cd441036f9c1a2a616c73 (patch)
tree96796f36d8ba46d73cfd6e3ee548342f9bcfb77d /llvm/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp
parentf294d5b8291e7b035cd33f11e55f553d1b0c97a0 (diff)
downloadbcm5719-llvm-799d5c924e36f275017cd441036f9c1a2a616c73.tar.gz
bcm5719-llvm-799d5c924e36f275017cd441036f9c1a2a616c73.zip
Fix the C-API MCJIT test for 32-bit big endian machines.
Avoid using unions for storing the return value from LLVMGetGlobalValueAddress() and LLVMGetFunctionAddress() and accessing it as a pointer through another pointer member. This causes problems on 32-bit big endian machines since the pointer gets the higher part of the return value of the aforementioned functions. llvm-svn: 226170
Diffstat (limited to 'llvm/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp')
-rw-r--r--llvm/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp18
1 files changed, 6 insertions, 12 deletions
diff --git a/llvm/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp b/llvm/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp
index 62967bdd327..f2a3000906e 100644
--- a/llvm/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp
+++ b/llvm/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp
@@ -359,13 +359,10 @@ TEST_F(MCJITCAPITest, gva) {
buildMCJITEngine();
buildAndRunPasses();
- union {
- uint64_t raw;
- int32_t *usable;
- } valuePointer;
- valuePointer.raw = LLVMGetGlobalValueAddress(Engine, "simple_value");
+ uint64_t raw = LLVMGetGlobalValueAddress(Engine, "simple_value");
+ int32_t *usable = (int32_t *) raw;
- EXPECT_EQ(42, *valuePointer.usable);
+ EXPECT_EQ(42, *usable);
}
TEST_F(MCJITCAPITest, gfa) {
@@ -376,13 +373,10 @@ TEST_F(MCJITCAPITest, gfa) {
buildMCJITEngine();
buildAndRunPasses();
- union {
- uint64_t raw;
- int (*usable)();
- } functionPointer;
- functionPointer.raw = LLVMGetFunctionAddress(Engine, "simple_function");
+ uint64_t raw = LLVMGetFunctionAddress(Engine, "simple_function");
+ int (*usable)() = (int (*)()) raw;
- EXPECT_EQ(42, functionPointer.usable());
+ EXPECT_EQ(42, usable());
}
TEST_F(MCJITCAPITest, custom_memory_manager) {
OpenPOWER on IntegriCloud