gcc/
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 27 Mar 2009 13:28:44 +0000 (13:28 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 27 Mar 2009 13:28:44 +0000 (13:28 +0000)
2009-03-27  Andrew Pinski  <andrew_pinski@playstation.sony.com>

PR c++/36799
* ginclude/stdarg.h (va_copy): Define also for __GXX_EXPERIMENTAL_CXX0X__.

gcc/testsuite/

2009-03-27  Andrew Pinski  <andrew_pinski@playstation.sony.com>

PR c++/36799
* g++.dg/other/var_copy-1.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145106 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/ginclude/stdarg.h
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/other/var_copy-1.C [new file with mode: 0644]

index fbb0ae5..9245f6b 100644 (file)
@@ -1,3 +1,8 @@
+2009-03-27  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       PR c++/36799
+       * ginclude/stdarg.h (va_copy): Define also for __GXX_EXPERIMENTAL_CXX0X__.
+
 2009-03-27  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
 
        PR c++/35652
index c9ddd6b..5061f34 100644 (file)
@@ -50,7 +50,7 @@ typedef __builtin_va_list __gnuc_va_list;
 #define va_start(v,l)  __builtin_va_start(v,l)
 #define va_end(v)      __builtin_va_end(v)
 #define va_arg(v,l)    __builtin_va_arg(v,l)
-#if !defined(__STRICT_ANSI__) || __STDC_VERSION__ + 0 >= 199900L
+#if !defined(__STRICT_ANSI__) || __STDC_VERSION__ + 0 >= 199900L || defined(__GXX_EXPERIMENTAL_CXX0X__)
 #define va_copy(d,s)   __builtin_va_copy(d,s)
 #endif
 #define __va_copy(d,s) __builtin_va_copy(d,s)
index 82fc8ab..1a3843e 100644 (file)
@@ -1,3 +1,8 @@
+2009-03-27  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       PR c++/36799
+       * g++.dg/other/var_copy-1.C: New test.
+
 2009-03-27  Simon Martin  <simartin@users.sourceforge.net>
 
        PR c++/37647
diff --git a/gcc/testsuite/g++.dg/other/var_copy-1.C b/gcc/testsuite/g++.dg/other/var_copy-1.C
new file mode 100644 (file)
index 0000000..2fc6b78
--- /dev/null
@@ -0,0 +1,14 @@
+// { dg-options "-std=c++0x" }
+// { dg-do compile }
+
+// Test to allow for va_copy with C++0x standard.
+
+#include <cstdarg>
+
+va_list x;
+va_list y;
+
+int main ()
+{
+    va_copy (y, x);
+}