Tanya Lattner | e9789ef | 2004-11-06 23:32:43 +0000 | [diff] [blame] | 1 | ; RUN: llvm-as -f %s -o %t.bc |
2 | ; RUN: lli %t.bc > /dev/null | ||||
3 | |||||
Chris Lattner | ac676be | 2002-12-03 20:30:03 +0000 | [diff] [blame] | 4 | |
Chris Lattner | 9f1bd80 | 2002-12-04 17:15:07 +0000 | [diff] [blame] | 5 | declare void %exit(int) |
Chris Lattner | ac676be | 2002-12-03 20:30:03 +0000 | [diff] [blame] | 6 | |
Chris Lattner | 6cc36d4 | 2002-12-28 20:01:07 +0000 | [diff] [blame] | 7 | int %test(sbyte %C, short %S) { |
Chris Lattner | 0baf656 | 2004-11-22 19:50:41 +0000 | [diff] [blame^] | 8 | %X = cast short %S to ubyte |
9 | %Y = cast ubyte %X to int | ||||
10 | ret int %Y | ||||
Chris Lattner | 6cc36d4 | 2002-12-28 20:01:07 +0000 | [diff] [blame] | 11 | } |
Chris Lattner | e4adeb4 | 2002-12-13 14:15:20 +0000 | [diff] [blame] | 12 | |
13 | void %FP(void(int) * %F) { | ||||
Chris Lattner | 6cc36d4 | 2002-12-28 20:01:07 +0000 | [diff] [blame] | 14 | %X = call int %test(sbyte 123, short 1024) |
15 | call void %F(int %X) | ||||
Chris Lattner | e4adeb4 | 2002-12-13 14:15:20 +0000 | [diff] [blame] | 16 | ret void |
17 | } | ||||
18 | |||||
Misha Brukman | 339ff0a | 2002-12-13 04:43:32 +0000 | [diff] [blame] | 19 | int %main() { |
Chris Lattner | e4adeb4 | 2002-12-13 14:15:20 +0000 | [diff] [blame] | 20 | call void %FP(void(int)* %exit) |
Misha Brukman | 339ff0a | 2002-12-13 04:43:32 +0000 | [diff] [blame] | 21 | ret int 1 |
Chris Lattner | ac676be | 2002-12-03 20:30:03 +0000 | [diff] [blame] | 22 | } |