OSDN Git Service

* gcc.dg/dfp/func-vararg-mixed.c: Add optional debugging output.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / dfp / func-vararg-dfp.c
index 0763ca7..3159a6f 100644 (file)
@@ -6,6 +6,16 @@
 #include <stdarg.h>
 
 extern void abort (void);
+static int failcnt = 0;
+                                                                                
+/* Support compiling the test to report individual failures; default is
+   to abort as soon as a check fails.  */
+#ifdef DBG
+#include <stdio.h>
+#define FAILURE { printf ("failed at line %d\n", __LINE__); failcnt++; }
+#else
+#define FAILURE abort ();
+#endif
 
 static _Decimal32
 vararg32 (unsigned arg, ...)
@@ -54,45 +64,46 @@ int main()
 {
   /* _Decimal32 variants.  */
   if (vararg32 (0, 0.0df, 1.0df, 2.0df, 3.0df, 4.0df, 5.0df) != 0.0df)
-    abort ();
+    FAILURE
   if (vararg32 (1, 0.0df, 1.0df, 2.0df, 3.0df, 4.0df, 5.0df) != 1.0df)
-    abort ();
+    FAILURE
   if (vararg32 (2, 0.0df, 1.0df, 2.0df, 3.0df, 4.0df, 5.0df) != 2.0df)
-    abort ();
+    FAILURE
   if (vararg32 (3, 0.0df, 1.0df, 2.0df, 3.0df, 4.0df, 5.0df) != 3.0df)
-    abort ();
+    FAILURE
   if (vararg32 (4, 0.0df, 1.0df, 2.0df, 3.0df, 4.0df, 5.0df) != 4.0df)
-    abort ();
+    FAILURE
   if (vararg32 (5, 0.0df, 1.0df, 2.0df, 3.0df, 4.0df, 5.0df) != 5.0df)
-    abort ();
+    FAILURE
 
   /* _Decimal64 variants.  */
   if (vararg64 (0, 0.0dd, 1.0dd, 2.0dd, 3.0dd, 4.0dd, 5.0dd) != 0.0dd)
-    abort ();
+    FAILURE
   if (vararg64 (1, 0.0dd, 1.0dd, 2.0dd, 3.0dd, 4.0dd, 5.0dd) != 1.0dd)
-    abort ();
+    FAILURE
   if (vararg64 (2, 0.0dd, 1.0dd, 2.0dd, 3.0dd, 4.0dd, 5.0dd) != 2.0dd)
-    abort ();
+    FAILURE
   if (vararg64 (3, 0.0dd, 1.0dd, 2.0dd, 3.0dd, 4.0dd, 5.0dd) != 3.0dd)
-    abort ();
+    FAILURE
   if (vararg64 (4, 0.0dd, 1.0dd, 2.0dd, 3.0dd, 4.0dd, 5.0dd) != 4.0dd)
-    abort ();
+    FAILURE
   if (vararg64 (5, 0.0dd, 1.0dd, 2.0dd, 3.0dd, 4.0dd, 5.0dd) != 5.0dd)
-    abort ();
+    FAILURE
 
   /* _Decimal128 variants.  */
   if (vararg128 (0, 0.0dl, 1.0dl, 2.0dl, 3.0dl, 4.0dl, 5.0dl) != 0.0dl)
-    abort ();
+    FAILURE
   if (vararg128 (1, 0.0dl, 1.0dl, 2.0dl, 3.0dl, 4.0dl, 5.0dl) != 1.0dl)
-    abort ();
+    FAILURE
   if (vararg128 (2, 0.0dl, 1.0dl, 2.0dl, 3.0dl, 4.0dl, 5.0dl) != 2.0dl)
-    abort ();
+    FAILURE
   if (vararg128 (3, 0.0dl, 1.0dl, 2.0dl, 3.0dl, 4.0dl, 5.0dl) != 3.0dl)
-    abort ();
+    FAILURE
   if (vararg128 (4, 0.0dl, 1.0dl, 2.0dl, 3.0dl, 4.0dl, 5.0dl) != 4.0dl)
-    abort ();
+    FAILURE
   if (vararg128 (5, 0.0dl, 1.0dl, 2.0dl, 3.0dl, 4.0dl, 5.0dl) != 5.0dl)
-    abort ();
+    FAILURE
 
-  return 0;
+  if (failcnt != 0)
+    abort ();
 }