aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoren J. Rittle <ljrittle@acm.org>2001-04-23 19:54:34 +0000
committerLoren J. Rittle <ljrittle@gcc.gnu.org>2001-04-23 19:54:34 +0000
commit910e8539cb5a59b129ae4a95b6ffd47d88bbad41 (patch)
tree8ffe6fb979b0f724ca221b55af898e8cadcf8a40
parent337187ff26ddc783f7cb8b2ce7d5f5d2ea719cbf (diff)
downloadgcc-910e8539cb5a59b129ae4a95b6ffd47d88bbad41.zip
gcc-910e8539cb5a59b129ae4a95b6ffd47d88bbad41.tar.gz
gcc-910e8539cb5a59b129ae4a95b6ffd47d88bbad41.tar.bz2
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
-rw-r--r--libstdc++-v3/ChangeLog7
-rw-r--r--libstdc++-v3/include/c_std/bits/std_cerrno.h5
-rw-r--r--libstdc++-v3/include/c_std/bits/std_csetjmp.h5
-rw-r--r--libstdc++-v3/include/c_std/bits/std_cstdarg.h5
4 files changed, 22 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index f5944f4..fa4cf3e 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 d4b2b7a..0d75f84 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 b8c319c..d282ae6 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 39018be..ce0bf28 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;