* iris6.h (BUILD_VA_LIST_TYPE): Define.
authorMark Mitchell <mark@codesourcery.com>
Fri, 1 Oct 1999 07:03:06 +0000 (07:03 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Fri, 1 Oct 1999 07:03:06 +0000 (07:03 +0000)
From-SVN: r29751

gcc/ChangeLog
gcc/config/mips/iris6.h
gcc/testsuite/g++.old-deja/g++.other/vaarg1.C [new file with mode: 0644]

index d867659..36249eb 100644 (file)
@@ -1,3 +1,7 @@
+Thu Sep 30 23:04:41 1999  Mark P. Mitchell  <mark@codesourcery.com>
+
+       * iris6.h (BUILD_VA_LIST_TYPE): Define.
+
 Thu Sep 30 18:44:50 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
 
        * rs6000.c (rs6000_build_va_list): Create a TYPE_DECL node
index 47d4ea8..62160fe 100644 (file)
@@ -438,6 +438,12 @@ do                                                                 \
  }                                                                     \
 while (0)
 
+/* Define the `__builtin_va_list' type for the ABI.  On Irix6, this
+   type is `char *'.  */
+#undef BUILD_VA_LIST_TYPE
+#define BUILD_VA_LIST_TYPE(VALIST) \
+  (VALIST) = build_pointer_type (char_type_node)
+
 /* Output the size directive for a decl in rest_of_decl_compilation
    in the case where we did not do so before the initializer.
    Once we find the error_mark_node, we know that the value of
diff --git a/gcc/testsuite/g++.old-deja/g++.other/vaarg1.C b/gcc/testsuite/g++.old-deja/g++.other/vaarg1.C
new file mode 100644 (file)
index 0000000..d58104c
--- /dev/null
@@ -0,0 +1,14 @@
+// Build don't link:
+// Origin: Mark Mitchell <mark@codesourcery.com>
+
+#include <stdarg.h>
+#include <stdio.h>
+
+void f (int i, ...)
+{
+  va_list ap;
+
+  va_start (ap, i);
+  vprintf ("test", ap);
+  va_end (ap);
+}