aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/c/std_csetjmp.h
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/include/c/std_csetjmp.h')
-rw-r--r--libstdc++-v3/include/c/std_csetjmp.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/libstdc++-v3/include/c/std_csetjmp.h b/libstdc++-v3/include/c/std_csetjmp.h
index 45e3da5d693..fe3f9c70bcd 100644
--- a/libstdc++-v3/include/c/std_csetjmp.h
+++ b/libstdc++-v3/include/c/std_csetjmp.h
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2000 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -31,12 +31,19 @@
// ISO C++ 14882: 20.4.6 C library
//
-// Note: This is not a conforming implementation.
-
#ifndef _CPP_CSETJMP
#define _CPP_CSETJMP 1
#pragma GCC system_header
-#include <setjmp.h>
+
+#include_next <setjmp.h>
+
+// 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) std::setjmp (env)
+#endif
#endif