summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorEric Christopher <echristo@apple.com>2011-08-16 21:41:35 +0000
committerEric Christopher <echristo@apple.com>2011-08-16 21:41:35 +0000
commit74733d2e12cca2040ef782b71a07030ab19453df (patch)
tree6b21e5bdc8060f92988caee5360cc1c497945ed2 /clang/test
parent9eeae42a6e08597a492875cc33596e001ac7b37a (diff)
downloadbcm5719-llvm-74733d2e12cca2040ef782b71a07030ab19453df.tar.gz
bcm5719-llvm-74733d2e12cca2040ef782b71a07030ab19453df.zip
Migrate varargs.cpp from llvm/test/FrontendC++.
llvm-svn: 137764
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CodeGenCXX/varargs.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/varargs.cpp b/clang/test/CodeGenCXX/varargs.cpp
new file mode 100644
index 00000000000..d469ae4f233
--- /dev/null
+++ b/clang/test/CodeGenCXX/varargs.cpp
@@ -0,0 +1,17 @@
+// RUN: %clang_cc1 -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);
+}
OpenPOWER on IntegriCloud