aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.8.1/gcc/testsuite/gcc.target/x86_64/abi/test_varargs.c
diff options
context:
space:
mode:
authorDan Albert <danalbert@google.com>2016-02-24 13:48:45 -0800
committerDan Albert <danalbert@google.com>2016-02-24 13:51:18 -0800
commitb9de1157289455b0ca26daff519d4a0ddcd1fa13 (patch)
tree4c56cc0a34b91f17033a40a455f26652304f7b8d /gcc-4.8.1/gcc/testsuite/gcc.target/x86_64/abi/test_varargs.c
parent098157a754787181cfa10e71325832448ddcea98 (diff)
downloadtoolchain_gcc-b9de1157289455b0ca26daff519d4a0ddcd1fa13.tar.gz
toolchain_gcc-b9de1157289455b0ca26daff519d4a0ddcd1fa13.tar.bz2
toolchain_gcc-b9de1157289455b0ca26daff519d4a0ddcd1fa13.zip
Update 4.8.1 to 4.8.3.
My previous drop was the wrong version. The platform mingw is currently using 4.8.3, not 4.8.1 (not sure how I got that wrong). From ftp://ftp.gnu.org/gnu/gcc/gcc-4.8.3/gcc-4.8.3.tar.bz2. Bug: http://b/26523949 Change-Id: Id85f1bdcbbaf78c7d0b5a69e74c798a08f341c35
Diffstat (limited to 'gcc-4.8.1/gcc/testsuite/gcc.target/x86_64/abi/test_varargs.c')
-rw-r--r--gcc-4.8.1/gcc/testsuite/gcc.target/x86_64/abi/test_varargs.c97
1 files changed, 0 insertions, 97 deletions
diff --git a/gcc-4.8.1/gcc/testsuite/gcc.target/x86_64/abi/test_varargs.c b/gcc-4.8.1/gcc/testsuite/gcc.target/x86_64/abi/test_varargs.c
deleted file mode 100644
index e6d99461d..000000000
--- a/gcc-4.8.1/gcc/testsuite/gcc.target/x86_64/abi/test_varargs.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/* Test variable number of arguments passed to functions. For now this is
- just a simple test to see if it's working. */
-
-#include <stdarg.h>
-#include "defines.h"
-
-
-#define ARG_INT 1
-#define ARG_DOUBLE 2
-#define ARG_POINTER 3
-
-union types
-{
- int ivalue;
- double dvalue;
- void *pvalue;
-};
-
-struct arg
-{
- int type;
- union types value;
-};
-
-struct arg *arglist;
-
-/* This tests the argumentlist to see if it matches the format string which
- is printf-like. Nothing will be printed of course. It can handle ints,
- doubles and void pointers. The given value will be tested against the
- values given in arglist.
- This test only assures that the variable argument passing is working.
- No attempt is made to see if argument passing is done the right way.
- Since the ABI doesn't say how it's done, checking this is not really
- relevant. */
-void
-my_noprintf (char *format, ...)
-{
- va_list va_arglist;
- char *c;
-
- int ivalue;
- double dvalue;
- void *pvalue;
- struct arg *argp = arglist;
-
- va_start (va_arglist, format);
- for (c = format; *c; c++)
- if (*c == '%')
- {
- switch (*++c)
- {
- case 'd':
- assert (argp->type == ARG_INT);
- ivalue = va_arg (va_arglist, int);
- assert (argp->value.ivalue == ivalue);
- break;
- case 'f':
- assert (argp->type == ARG_DOUBLE);
- dvalue = va_arg (va_arglist, double);
- assert (argp->value.dvalue == dvalue);
- break;
- case 'p':
- assert (argp->type == ARG_POINTER);
- pvalue = va_arg (va_arglist, void *);
- assert (argp->value.pvalue == pvalue);
- break;
- default:
- abort ();
- }
-
- argp++;
- }
-}
-
-int
-main (void)
-{
-#ifdef CHECK_VARARGS
- struct arg al[5];
-
- al[0].type = ARG_INT;
- al[0].value.ivalue = 256;
- al[1].type = ARG_DOUBLE;
- al[1].value.dvalue = 257.0;
- al[2].type = ARG_POINTER;
- al[2].value.pvalue = al;
- al[3].type = ARG_DOUBLE;
- al[3].value.dvalue = 258.0;
- al[4].type = ARG_INT;
- al[4].value.ivalue = 259;
-
- arglist = al;
- my_noprintf("%d%f%p%f%d", 256, 257.0, al, 258.0, 259);
-#endif
-
- return 0;
-}