Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame^] | 1 | ; The CBE should not emit code that casts the function pointer. This causes |
2 | ; GCC to get testy and insert trap instructions instead of doing the right | ||||
3 | ; thing. :( | ||||
4 | ; RUN: llvm-upgrade < %s | llvm-as | llc -march=c | ||||
5 | |||||
6 | implementation | ||||
7 | |||||
8 | declare void %external(sbyte*) | ||||
9 | |||||
10 | int %test(int *%X) { | ||||
11 | %RV = call int (int*)* cast (void(sbyte*)* %external to int(int*)*)(int* %X) | ||||
12 | ret int %RV | ||||
13 | } | ||||
14 | |||||
15 | |||||
16 | |||||
17 |