diff options
-rw-r--r-- | test/Transforms/LevelRaise/2002-03-11-Calls.ll | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/Transforms/LevelRaise/2002-03-11-Calls.ll b/test/Transforms/LevelRaise/2002-03-11-Calls.ll new file mode 100644 index 0000000000..1232b1a6a4 --- /dev/null +++ b/test/Transforms/LevelRaise/2002-03-11-Calls.ll @@ -0,0 +1,15 @@ +; Fixed a problem where level raise would try to forward substitute a cast of a +; method pointer type into a call. In doing so, it would have to change the +; types of the arguments to the call, but broke doing so. +; +; RUN: as < %s | opt -raise + +implementation + + +void "test"(void (int*) *%Fn, long* %Arg) +begin + %Fn2 = cast void (int*) *%Fn to void(long*) * + call void %Fn2(long *%Arg) + ret void +end |