summaryrefslogtreecommitdiff
path: root/lib/BlocksRuntime/tests/variadic.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/BlocksRuntime/tests/variadic.c')
-rw-r--r--lib/BlocksRuntime/tests/variadic.c66
1 files changed, 0 insertions, 66 deletions
diff --git a/lib/BlocksRuntime/tests/variadic.c b/lib/BlocksRuntime/tests/variadic.c
deleted file mode 100644
index 1d80657e9..000000000
--- a/lib/BlocksRuntime/tests/variadic.c
+++ /dev/null
@@ -1,66 +0,0 @@
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-
-/*
- * variadic.c
- * testObjects
- *
- * Created by Blaine Garst on 2/17/09.
- *
- */
-
-// PURPOSE Test that variadic arguments compile and work for Blocks
-// CONFIG
-
-#include <stdarg.h>
-#include <stdio.h>
-
-int main(int argc, char *argv[]) {
-
- long (^addthem)(const char *, ...) = ^long (const char *format, ...){
- va_list argp;
- const char *p;
- int i;
- char c;
- double d;
- long result = 0;
- va_start(argp, format);
- //printf("starting...\n");
- for (p = format; *p; p++) switch (*p) {
- case 'i':
- i = va_arg(argp, int);
- //printf("i: %d\n", i);
- result += i;
- break;
- case 'd':
- d = va_arg(argp, double);
- //printf("d: %g\n", d);
- result += (int)d;
- break;
- case 'c':
- c = va_arg(argp, int);
- //printf("c: '%c'\n", c);
- result += c;
- break;
- }
- //printf("...done\n\n");
- return result;
- };
- long testresult = addthem("ii", 10, 20);
- if (testresult != 30) {
- printf("got wrong result: %ld\n", testresult);
- return 1;
- }
- testresult = addthem("idc", 30, 40.0, 'a');
- if (testresult != (70+'a')) {
- printf("got different wrong result: %ld\n", testresult);
- return 1;
- }
- printf("%s: Success\n", argv[0]);
- return 0;
-}
-
-