diff options
Diffstat (limited to 'llvm/test/Regression/Transforms/FunctionResolve/retmismatch1.ll')
| -rw-r--r-- | llvm/test/Regression/Transforms/FunctionResolve/retmismatch1.ll | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/llvm/test/Regression/Transforms/FunctionResolve/retmismatch1.ll b/llvm/test/Regression/Transforms/FunctionResolve/retmismatch1.ll new file mode 100644 index 00000000000..7cd055dc649 --- /dev/null +++ b/llvm/test/Regression/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 +} |

