diff options
author | Brian Paul <brianp@vmware.com> | 2010-05-13 13:21:19 -0600 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2010-05-13 14:15:44 -0600 |
commit | 966d28cb2e5e090d8f591810f331df0d05b06271 (patch) | |
tree | 623f7cbc621fc4d0c41151896990173bdecae67c /src/gallium/drivers/llvmpipe/lp_test_printf.c | |
parent | 45d6289fab1aa012f265e5b51a10c2a07c85679b (diff) |
llvmpipe: silence cast warnings in test programs
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_test_printf.c')
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_test_printf.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_test_printf.c b/src/gallium/drivers/llvmpipe/lp_test_printf.c index 666d414769..13485c3774 100644 --- a/src/gallium/drivers/llvmpipe/lp_test_printf.c +++ b/src/gallium/drivers/llvmpipe/lp_test_printf.c @@ -41,6 +41,7 @@ struct printf_test_case { + int foo; }; void @@ -57,6 +58,19 @@ write_tsv_header(FILE *fp) typedef void (*test_printf_t)(int i); +/** cast wrapper */ +static test_printf_t +voidptr_to_test_printf_t(void *p) +{ + union { + void *v; + test_printf_t f; + } u; + u.v = p; + return u.f; +} + + static LLVMValueRef add_printf_test(LLVMModuleRef module) { @@ -91,6 +105,7 @@ test_printf(unsigned verbose, FILE *fp, const struct printf_test_case *testcase) float unpacked[4]; unsigned packed; boolean success = TRUE; + void *code; module = LLVMModuleCreateWithName("test"); @@ -124,7 +139,8 @@ test_printf(unsigned verbose, FILE *fp, const struct printf_test_case *testcase) (void)pass; #endif - test_printf = (test_printf_t)LLVMGetPointerToGlobal(engine, test); + code = LLVMGetPointerToGlobal(engine, test); + test_printf = voidptr_to_test_printf_t(code); memset(unpacked, 0, sizeof unpacked); packed = 0; |