From 0841564bc41ede99171b1354f28c9bcb68340710 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 22 Oct 2009 04:47:09 +0000 Subject: [PATCH] testcase for PR4678 & rdar://7309675 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84830 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/FrontendC++/2009-08-03-Varargs.cpp | 5 ----- test/FrontendC++/varargs.cpp | 19 +++++++++++++++++++ 2 files changed, 19 insertions(+), 5 deletions(-) delete mode 100644 test/FrontendC++/2009-08-03-Varargs.cpp create mode 100644 test/FrontendC++/varargs.cpp diff --git a/test/FrontendC++/2009-08-03-Varargs.cpp b/test/FrontendC++/2009-08-03-Varargs.cpp deleted file mode 100644 index cea3894c84e..00000000000 --- a/test/FrontendC++/2009-08-03-Varargs.cpp +++ /dev/null @@ -1,5 +0,0 @@ -// RUN: %llvmgxx %s -S -emit-llvm -o - | grep _Z1az\(\.\.\.\) -// XFAIL: * -// PR4678 -void a(...) { -} diff --git a/test/FrontendC++/varargs.cpp b/test/FrontendC++/varargs.cpp new file mode 100644 index 00000000000..1c07aedd093 --- /dev/null +++ b/test/FrontendC++/varargs.cpp @@ -0,0 +1,19 @@ +// RUN: %llvmgxx -S -emit-llvm %s -o - | FileCheck %s +// rdar://7309675 +// PR4678 + +// test1 should be compmiled to be a varargs function in the IR even +// though there is no way to do a va_begin. Otherwise, the optimizer +// will warn about 'dropped arguments' at the call site. + +// CHECK: define i32 @_Z5test1z(...) +int test1(...) { + return -1; +} + +// CHECK: call i32 (...)* @_Z5test1z(i32 0) +void test() { + test1(0); +} + + -- 2.34.1