diff options
Diffstat (limited to 'test/Transforms/FunctionResolve/retmismatch2.ll')
-rw-r--r-- | test/Transforms/FunctionResolve/retmismatch2.ll | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/Transforms/FunctionResolve/retmismatch2.ll b/test/Transforms/FunctionResolve/retmismatch2.ll new file mode 100644 index 0000000000..606f92f7dd --- /dev/null +++ b/test/Transforms/FunctionResolve/retmismatch2.ll @@ -0,0 +1,23 @@ +; This shows where the function is called with the prototype indicating a +; return type doesn't exists, but it really does. +; +; 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 void %foo(...) + +int %foo(int %x, float %y) { + ret int %x +} + +int %bar() { + call void (...)* %foo(double 12.5, int 48) + ret int 6 +} |