]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/testsuite/gcc.c-torture/execute/va-arg-3.c
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / testsuite / gcc.c-torture / execute / va-arg-3.c
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-3.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-3.c
deleted file mode 100644 (file)
index 7b0a0b0..0000000
+++ /dev/null
@@ -1,339 +0,0 @@
-/* Same as va-arg-2.c but using varargs.h.  */
-/* The purpose of this test is to catch edge cases when arguments are passed
-   in regs and on the stack.  We test 16 cases, trying to catch multiple
-   targets (some use 3 regs for argument passing, some use 12, etc.).
-   We test both the arguments and the `lastarg' (the argument to va_start).  */
-
-#ifdef NO_VARARGS
-int main()
-{
-  exit (0);
-}
-
-#else
-#include <varargs.h>
-
-extern __SIZE_TYPE__ strlen ();
-
-int
-to_hex (unsigned int a)
-{
-  static char hex[] = "0123456789abcdef";
-
-  if (a > 15)
-    abort ();
-  return hex[a];
-}
-
-void
-f0 (va_alist)
-     va_dcl
-{
-  va_list ap;
-  char *format;
-
-  va_start (ap);
-  format = va_arg (ap, char *);
-  if (strlen (format) != 16 - 0)
-    abort ();
-  while (*format)
-    if (*format++ != to_hex (va_arg (ap, int)))
-      abort ();
-  va_end(ap);
-}
-
-void
-f1 (a1, va_alist)
-     int a1;
-     va_dcl
-{
-  va_list ap;
-  char *format;
-
-  va_start (ap);
-  format = va_arg (ap, char *);
-  if (strlen (format) != 16 - 1)
-    abort ();
-  while (*format)
-    if (*format++ != to_hex (va_arg (ap, int)))
-      abort ();
-  va_end(ap);
-}
-
-void
-f2 (a1, a2, va_alist)
-     int a1, a2;
-     va_dcl
-{
-  va_list ap;
-  char *format;
-
-  va_start (ap);
-  format = va_arg (ap, char *);
-  if (strlen (format) != 16 - 2)
-    abort ();
-  while (*format)
-    if (*format++ != to_hex (va_arg (ap, int)))
-      abort ();
-  va_end(ap);
-}
-
-void
-f3 (a1, a2, a3, va_alist)
-     int a1, a2, a3;
-     va_dcl
-{
-  va_list ap;
-  char *format;
-
-  va_start (ap);
-  format = va_arg (ap, char *);
-  if (strlen (format) != 16 - 3)
-    abort ();
-  while (*format)
-    if (*format++ != to_hex (va_arg (ap, int)))
-      abort ();
-  va_end(ap);
-}
-
-void
-f4 (a1, a2, a3, a4, va_alist)
-     int a1, a2, a3, a4;
-     va_dcl
-{
-  va_list ap;
-  char *format;
-
-  va_start (ap);
-  format = va_arg (ap, char *);
-  if (strlen (format) != 16 - 4)
-    abort ();
-  while (*format)
-    if (*format++ != to_hex (va_arg (ap, int)))
-      abort ();
-  va_end(ap);
-}
-
-void
-f5 (a1, a2, a3, a4, a5, va_alist)
-     int a1, a2, a3, a4, a5;
-     va_dcl
-{
-  va_list ap;
-  char *format;
-
-  va_start (ap);
-  format = va_arg (ap, char *);
-  if (strlen (format) != 16 - 5)
-    abort ();
-  while (*format)
-    if (*format++ != to_hex (va_arg (ap, int)))
-      abort ();
-  va_end(ap);
-}
-
-void
-f6 (a1, a2, a3, a4, a5, a6, va_alist)
-     int a1, a2, a3, a4, a5, a6;
-     va_dcl
-{
-  va_list ap;
-  char *format;
-
-  va_start (ap);
-  format = va_arg (ap, char *);
-  if (strlen (format) != 16 - 6)
-    abort ();
-  while (*format)
-    if (*format++ != to_hex (va_arg (ap, int)))
-      abort ();
-  va_end(ap);
-}
-
-void
-f7 (a1, a2, a3, a4, a5, a6, a7, va_alist)
-     int a1, a2, a3, a4, a5, a6, a7;
-     va_dcl
-{
-  va_list ap;
-  char *format;
-
-  va_start (ap);
-  format = va_arg (ap, char *);
-  if (strlen (format) != 16 - 7)
-    abort ();
-  while (*format)
-    if (*format++ != to_hex (va_arg (ap, int)))
-      abort ();
-  va_end(ap);
-}
-
-void
-f8 (a1, a2, a3, a4, a5, a6, a7, a8, va_alist)
-     int a1, a2, a3, a4, a5, a6, a7, a8;
-     va_dcl
-{
-  va_list ap;
-  char *format;
-
-  va_start (ap);
-  format = va_arg (ap, char *);
-  if (strlen (format) != 16 - 8)
-    abort ();
-  while (*format)
-    if (*format++ != to_hex (va_arg (ap, int)))
-      abort ();
-  va_end(ap);
-}
-
-void
-f9 (a1, a2, a3, a4, a5, a6, a7, a8, a9, va_alist)
-     int a1, a2, a3, a4, a5, a6, a7, a8, a9;
-     va_dcl
-{
-  va_list ap;
-  char *format;
-
-  va_start (ap);
-  format = va_arg (ap, char *);
-  if (strlen (format) != 16 - 9)
-    abort ();
-  while (*format)
-    if (*format++ != to_hex (va_arg (ap, int)))
-      abort ();
-  va_end(ap);
-}
-
-void
-f10 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, va_alist)
-     int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10;
-     va_dcl
-{
-  va_list ap;
-  char *format;
-
-  va_start (ap);
-  format = va_arg (ap, char *);
-  if (strlen (format) != 16 - 10)
-    abort ();
-  while (*format)
-    if (*format++ != to_hex (va_arg (ap, int)))
-      abort ();
-  va_end(ap);
-}
-
-void
-f11 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11,
-     va_alist)
-     int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11;
-     va_dcl
-{
-  va_list ap;
-  char *format;
-
-  va_start (ap);
-  format = va_arg (ap, char *);
-  if (strlen (format) != 16 - 11)
-    abort ();
-  while (*format)
-    if (*format++ != to_hex (va_arg (ap, int)))
-      abort ();
-  va_end(ap);
-}
-
-void
-f12 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, va_alist)
-     int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12;
-     va_dcl
-{
-  va_list ap;
-  char *format;
-
-  va_start (ap);
-  format = va_arg (ap, char *);
-  if (strlen (format) != 16 - 12)
-    abort ();
-  while (*format)
-    if (*format++ != to_hex (va_arg (ap, int)))
-      abort ();
-  va_end(ap);
-}
-
-void
-f13 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, va_alist)
-     int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13;
-     va_dcl
-{
-  va_list ap;
-  char *format;
-
-  va_start (ap);
-  format = va_arg (ap, char *);
-  if (strlen (format) != 16 - 13)
-    abort ();
-  while (*format)
-    if (*format++ != to_hex (va_arg (ap, int)))
-      abort ();
-  va_end(ap);
-}
-
-void
-f14 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, va_alist)
-     int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14;
-     va_dcl
-{
-  va_list ap;
-  char *format;
-
-  va_start (ap);
-  format = va_arg (ap, char *);
-  if (strlen (format) != 16 - 14)
-    abort ();
-  while (*format)
-    if (*format++ != to_hex (va_arg (ap, int)))
-      abort ();
-  va_end(ap);
-}
-
-void
-f15 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, va_alist)
-     int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15;
-     va_dcl
-{
-  va_list ap;
-  char *format;
-
-  va_start (ap);
-  format = va_arg (ap, char *);
-  if (strlen (format) != 16 - 15)
-    abort ();
-  while (*format)
-    if (*format++ != to_hex (va_arg (ap, int)))
-      abort ();
-  va_end(ap);
-}
-
-main ()
-{
-  char *f = "0123456789abcdef";
-
-  f0 (f+0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
-  f1 (0, f+1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
-  f2 (0, 1, f+2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
-  f3 (0, 1, 2, f+3, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
-  f4 (0, 1, 2, 3, f+4, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
-  f5 (0, 1, 2, 3, 4, f+5, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
-  f6 (0, 1, 2, 3, 4, 5, f+6, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
-  f7 (0, 1, 2, 3, 4, 5, 6, f+7, 7, 8, 9, 10, 11, 12, 13, 14, 15);
-  f8 (0, 1, 2, 3, 4, 5, 6, 7, f+8, 8, 9, 10, 11, 12, 13, 14, 15);
-  f9 (0, 1, 2, 3, 4, 5, 6, 7, 8, f+9, 9, 10, 11, 12, 13, 14, 15);
-  f10 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, f+10, 10, 11, 12, 13, 14, 15);
-  f11 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, f+11, 11, 12, 13, 14, 15);
-  f12 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, f+12, 12, 13, 14, 15);
-  f13 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, f+13, 13, 14, 15);
-  f14 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, f+14, 14, 15);
-  f15 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, f+15, 15);
-
-  exit (0);
-}
-#endif /* ! NO_VARARGS */