diff options
Diffstat (limited to 'test/Transforms/FunctionResolve/retmismatch1.ll')
-rw-r--r-- | test/Transforms/FunctionResolve/retmismatch1.ll | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/Transforms/FunctionResolve/retmismatch1.ll b/test/Transforms/FunctionResolve/retmismatch1.ll new file mode 100644 index 0000000000..7cd055dc64 --- /dev/null +++ b/test/Transforms/FunctionResolve/retmismatch1.ll @@ -0,0 +1,22 @@ +; This shows where the function is called with the prototype indicating a +; return type exists, but it really doesn't. +; RUN: if as < %s | opt -funcresolve +; RUN: then echo "opt ok" +; RUN: else exit 1 # Make sure opt doesn't abort! +; RUN: fi +; +; RUN: if as < %s | opt -funcresolve | dis | grep '\.\.\.' | grep call +; RUN: then exit 1 +; RUN: else exit 0 +; RUN: fi + +declare int %foo(...) + +void %foo(int %x, float %y) { + ret void +} + +int %bar() { + %x = call int(...)* %foo(double 12.5, int 48) + ret int %x +} |