From 910e8539cb5a59b129ae4a95b6ffd47d88bbad41 Mon Sep 17 00:00:00 2001
From: "Loren J. Rittle" <ljrittle@acm.org>
Date: Mon, 23 Apr 2001 19:54:34 +0000
Subject: [PATCH] std_cerrno.h (errno): Define macro from identifier declared
 with external linkage, if needed.

	* include/c_std/bits/std_cerrno.h (errno): Define macro from
	identifier declared with external linkage, if needed.
	* include/c_std/bits/std_csetjmp.h (setjmp): Likewise.
	* include/c_std/bits/std_cstdarg.h (va_end): Likewise.

From-SVN: r41507
---
 libstdc++-v3/ChangeLog                        | 7 +++++++
 libstdc++-v3/include/c_std/bits/std_cerrno.h  | 5 +++++
 libstdc++-v3/include/c_std/bits/std_csetjmp.h | 5 +++++
 libstdc++-v3/include/c_std/bits/std_cstdarg.h | 5 +++++
 4 files changed, 22 insertions(+)

diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index f5944f45d542..fa4cf3edaa6f 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,10 @@
+2001-04-23  Loren J. Rittle  <ljrittle@acm.org>
+
+	* include/c_std/bits/std_cerrno.h (errno): Define macro from
+	identifier declared with external linkage, if needed.
+	* include/c_std/bits/std_csetjmp.h (setjmp): Likewise.
+	* include/c_std/bits/std_cstdarg.h (va_end): Likewise.
+
 2001-04-23  Benjamin Kosnik  <bkoz@fillmore.constant.com>
 
 	* acinclude.m4 (CXX): Set to CXX so that in-directory
diff --git a/libstdc++-v3/include/c_std/bits/std_cerrno.h b/libstdc++-v3/include/c_std/bits/std_cerrno.h
index d4b2b7acd65f..0d75f84307b5 100644
--- a/libstdc++-v3/include/c_std/bits/std_cerrno.h
+++ b/libstdc++-v3/include/c_std/bits/std_cerrno.h
@@ -39,4 +39,9 @@
 #pragma GCC system_header
 #include <errno.h>
 
+// Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
+#ifndef errno
+#define errno errno
+#endif
+
 #endif
diff --git a/libstdc++-v3/include/c_std/bits/std_csetjmp.h b/libstdc++-v3/include/c_std/bits/std_csetjmp.h
index b8c319ce0a7e..d282ae6aa625 100644
--- a/libstdc++-v3/include/c_std/bits/std_csetjmp.h
+++ b/libstdc++-v3/include/c_std/bits/std_csetjmp.h
@@ -42,6 +42,11 @@
 // Get rid of those macros defined in <setjmp.h> in lieu of real functions.
 #undef longjmp
 
+// Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
+#ifndef setjmp
+#define setjmp(env) setjmp (env)
+#endif
+
 namespace std
 {
   using ::jmp_buf;
diff --git a/libstdc++-v3/include/c_std/bits/std_cstdarg.h b/libstdc++-v3/include/c_std/bits/std_cstdarg.h
index 39018be29f26..ce0bf283d354 100644
--- a/libstdc++-v3/include/c_std/bits/std_cstdarg.h
+++ b/libstdc++-v3/include/c_std/bits/std_cstdarg.h
@@ -39,6 +39,11 @@
 #pragma GCC system_header
 #include <stdarg.h>
 
+// Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
+#ifndef va_end
+#define va_end(ap) va_end (ap)
+#endif
+
 namespace std
 {
   using ::va_list;