summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3/include/c_compatibility
diff options
context:
space:
mode:
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2002-06-21 20:21:03 +0000
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2002-06-21 20:21:03 +0000
commit75fbf2f74062ce6e93a29f34afb36982a5a8eeff (patch)
tree5a37abad29c7d3b57928cf12073d1fc3f1aefe6f /libstdc++-v3/include/c_compatibility
parentb14b6cce5ffb340519c8125c07293b9b08b7c845 (diff)
downloadppe42-gcc-75fbf2f74062ce6e93a29f34afb36982a5a8eeff.tar.gz
ppe42-gcc-75fbf2f74062ce6e93a29f34afb36982a5a8eeff.zip
2002-06-21 Benjamin Kosnik <bkoz@redhat.com>
* include/c_compatibility: New. * include/c_compatibility/assert.h: New. * include/c_compatibility/ctype.h: New. * include/c_compatibility/errno.h: New. * include/c_compatibility/float.h: New. * include/c_compatibility/iso646.h: New. * include/c_compatibility/limits.h: New. * include/c_compatibility/locale.h: New. * include/c_compatibility/math.h: New. * include/c_compatibility/setjmp.h: New. * include/c_compatibility/signal.h: New. * include/c_compatibility/stdarg.h: New. * include/c_compatibility/stddef.h: New. * include/c_compatibility/stdio.h: New. * include/c_compatibility/stdlib.h: New. * include/c_compatibility/string.h: New. * include/c_compatibility/time.h: New. * include/c_compatibility/wchar.h: New. * include/c_compatibility/wctype.h: New. * include/c/std_cerrno.h: Get out of the way... define errno. * include/c/std_cmath.h: Add abs, modf overloads. Undefine C99 isms. Still not sure how to deal with this sanely. * include/c/std_csetjmp.h: Tweak. * include/c/std_cwchar.h: Include cstddef for size_t. * include/c_std/std_cmath.h: Remove extra function. Pendantic std usage in testsuites. * testsuite/17_intro/header_cstdlib.cc (test01): Qualify ldiv_t with std. * testsuite/17_intro/header_cwchar.cc: Tweak. * testsuite/22_locale/codecvt_members_char_char.cc (test03): Use std::setlocale. * testsuite/22_locale/ctype_to_wchar_t.cc (test05): Same. * testsuite/22_locale/ctype_to_char.cc (test05): Same. * testsuite/22_locale/ctype_is_wchar_t.cc (test05): Same. * testsuite/22_locale/ctype_is_char.cc (test05): Same. * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test03): Same. * testsuite/22_locale/time_get_members_wchar_t.cc (test08): Same. * testsuite/22_locale/time_get_members_char.cc (test08): Same. * testsuite/22_locale/time_put_members_wchar_t.cc (test04): Same. * testsuite/22_locale/time_put_members_char.cc (test04): Same. * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Same. * testsuite/22_locale/num_put_members_char.cc (test04): Same. * testsuite/22_locale/numpunct_members_wchar_t.cc (test03): Same. * testsuite/22_locale/numpunct_members_char.cc (test03): Same. * testsuite/22_locale/num_get_members_wchar_t.cc: Same. * testsuite/22_locale/num_get_members_char.cc: Same. * testsuite/22_locale/money_put_members_wchar_t.cc (test07): Same. * testsuite/22_locale/money_put_members_char.cc (test07): Same. * testsuite/22_locale/moneypunct_members_wchar_t.cc (test03): Same. * testsuite/22_locale/moneypunct_members_char.cc (test03): Same. * testsuite/22_locale/money_get_members_wchar_t.cc (test08): Same. * testsuite/22_locale/money_get_members_char.cc (test08): Same. * testsuite/22_locale/messages_members_char.cc (test03): Same. * testsuite/22_locale/collate_members_wchar_t.cc (test04): Same. * testsuite/22_locale/collate_members_char.cc (test04): Same. * testsuite/26_numerics/fabs_inline.cc: Use std::printf. * testsuite/27_io/istream_seeks.cc (test02): Qualify abort. * testsuite/27_io/istream_extractor_arith.cc (test11): Qualify strtol. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54891 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/include/c_compatibility')
-rw-r--r--libstdc++-v3/include/c_compatibility/assert.h30
-rw-r--r--libstdc++-v3/include/c_compatibility/ctype.h49
-rw-r--r--libstdc++-v3/include/c_compatibility/errno.h35
-rw-r--r--libstdc++-v3/include/c_compatibility/float.h35
-rw-r--r--libstdc++-v3/include/c_compatibility/iso646.h35
-rw-r--r--libstdc++-v3/include/c_compatibility/limits.h35
-rw-r--r--libstdc++-v3/include/c_compatibility/locale.h39
-rw-r--r--libstdc++-v3/include/c_compatibility/math.h74
-rw-r--r--libstdc++-v3/include/c_compatibility/setjmp.h38
-rw-r--r--libstdc++-v3/include/c_compatibility/signal.h40
-rw-r--r--libstdc++-v3/include/c_compatibility/stdarg.h37
-rw-r--r--libstdc++-v3/include/c_compatibility/stddef.h38
-rw-r--r--libstdc++-v3/include/c_compatibility/stdio.h85
-rw-r--r--libstdc++-v3/include/c_compatibility/stdlib.h67
-rw-r--r--libstdc++-v3/include/c_compatibility/string.h58
-rw-r--r--libstdc++-v3/include/c_compatibility/time.h60
-rw-r--r--libstdc++-v3/include/c_compatibility/wchar.h106
-rw-r--r--libstdc++-v3/include/c_compatibility/wctype.h55
18 files changed, 916 insertions, 0 deletions
diff --git a/libstdc++-v3/include/c_compatibility/assert.h b/libstdc++-v3/include/c_compatibility/assert.h
new file mode 100644
index 00000000000..cb5313fa97b
--- /dev/null
+++ b/libstdc++-v3/include/c_compatibility/assert.h
@@ -0,0 +1,30 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+#include <cassert>
diff --git a/libstdc++-v3/include/c_compatibility/ctype.h b/libstdc++-v3/include/c_compatibility/ctype.h
new file mode 100644
index 00000000000..1989347e2d8
--- /dev/null
+++ b/libstdc++-v3/include/c_compatibility/ctype.h
@@ -0,0 +1,49 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+#ifndef _CPP_CTYPE_H_
+#define _CPP_CTYPE_H_ 1
+
+#include <cctype>
+
+using std::isalnum;
+using std::isalpha;
+using std::iscntrl;
+using std::isdigit;
+using std::isgraph;
+using std::islower;
+using std::isprint;
+using std::ispunct;
+using std::isspace;
+using std::isupper;
+using std::isxdigit;
+using std::tolower;
+using std::toupper;
+
+#endif
diff --git a/libstdc++-v3/include/c_compatibility/errno.h b/libstdc++-v3/include/c_compatibility/errno.h
new file mode 100644
index 00000000000..f890b537549
--- /dev/null
+++ b/libstdc++-v3/include/c_compatibility/errno.h
@@ -0,0 +1,35 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+#ifndef _CPP_ERRNO_H_
+#define _CPP_ERRNO_H_ 1
+
+#include <cerrno>
+
+#endif
diff --git a/libstdc++-v3/include/c_compatibility/float.h b/libstdc++-v3/include/c_compatibility/float.h
new file mode 100644
index 00000000000..7d7b9d44f9f
--- /dev/null
+++ b/libstdc++-v3/include/c_compatibility/float.h
@@ -0,0 +1,35 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+#ifndef _CPP_FLOAT_H_
+#define _CPP_FLOAT_H_ 1
+
+#include <cfloat>
+
+#endif
diff --git a/libstdc++-v3/include/c_compatibility/iso646.h b/libstdc++-v3/include/c_compatibility/iso646.h
new file mode 100644
index 00000000000..25b6140ba53
--- /dev/null
+++ b/libstdc++-v3/include/c_compatibility/iso646.h
@@ -0,0 +1,35 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+#ifndef _CPP_ISO646_H_
+#define _CPP_ISO646_H_ 1
+
+#include <ciso646>
+
+#endif
diff --git a/libstdc++-v3/include/c_compatibility/limits.h b/libstdc++-v3/include/c_compatibility/limits.h
new file mode 100644
index 00000000000..9ddbce8990e
--- /dev/null
+++ b/libstdc++-v3/include/c_compatibility/limits.h
@@ -0,0 +1,35 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+#ifndef _CPP_LIMITS_H_
+#define _CPP_LIMITS_H_ 1
+
+#include <climits>
+
+#endif
diff --git a/libstdc++-v3/include/c_compatibility/locale.h b/libstdc++-v3/include/c_compatibility/locale.h
new file mode 100644
index 00000000000..4d7d72da7ab
--- /dev/null
+++ b/libstdc++-v3/include/c_compatibility/locale.h
@@ -0,0 +1,39 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+#ifndef _CPP_LOCALE_H_
+#define _CPP_LOCALE_H_ 1
+
+#include <clocale>
+
+using std::lconv;
+using std::setlocale;
+using std::localeconv;
+
+#endif
diff --git a/libstdc++-v3/include/c_compatibility/math.h b/libstdc++-v3/include/c_compatibility/math.h
new file mode 100644
index 00000000000..4c4fd0a2178
--- /dev/null
+++ b/libstdc++-v3/include/c_compatibility/math.h
@@ -0,0 +1,74 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+#ifndef _CPP_MATH_H_
+#define _CPP_MATH_H_ 1
+
+#include <cmath>
+
+using std::abs;
+using std::acos;
+using std::asin;
+using std::atan;
+using std::atan2;
+using std::cos;
+using std::sin;
+using std::tan;
+using std::cosh;
+using std::sinh;
+using std::tanh;
+using std::exp;
+using std::frexp;
+using std::ldexp;
+using std::log;
+using std::log10;
+using std::modf;
+using std::pow;
+using std::sqrt;
+using std::ceil;
+using std::fabs;
+using std::floor;
+using std::fmod;
+
+#if _GLIBCPP_USE_C99
+using std::fpclassify;
+using std::isfinite;
+using std::isinf;
+using std::isnan;
+using std::isnormal;
+using std::signbit;
+using std::isgreater;
+using std::isgreaterequal;
+using std::isless;
+using std::islessequal;
+using std::islessgreater;
+using std::isunordered;
+#endif
+
+#endif
diff --git a/libstdc++-v3/include/c_compatibility/setjmp.h b/libstdc++-v3/include/c_compatibility/setjmp.h
new file mode 100644
index 00000000000..f194253f868
--- /dev/null
+++ b/libstdc++-v3/include/c_compatibility/setjmp.h
@@ -0,0 +1,38 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+#ifndef _CPP_SETJMP_H_
+#define _CPP_SETJMP_H_ 1
+
+#include <csetjmp>
+
+using std::jmp_buf;
+using std::longjmp;
+
+#endif
diff --git a/libstdc++-v3/include/c_compatibility/signal.h b/libstdc++-v3/include/c_compatibility/signal.h
new file mode 100644
index 00000000000..724ac8a1d66
--- /dev/null
+++ b/libstdc++-v3/include/c_compatibility/signal.h
@@ -0,0 +1,40 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+#ifndef _CPP_SIGNAL_H_
+#define _CPP_SIGNAL_H_ 1
+
+#include <csignal>
+
+using std::sig_atomic_t;
+
+using std::raise;
+using std::signal;
+
+#endif
diff --git a/libstdc++-v3/include/c_compatibility/stdarg.h b/libstdc++-v3/include/c_compatibility/stdarg.h
new file mode 100644
index 00000000000..a1a62b1699e
--- /dev/null
+++ b/libstdc++-v3/include/c_compatibility/stdarg.h
@@ -0,0 +1,37 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+#ifndef _CPP_STDARG_H_
+#define _CPP_STDARG_H_ 1
+
+#include <cstdarg>
+
+using std::va_list;
+
+#endif
diff --git a/libstdc++-v3/include/c_compatibility/stddef.h b/libstdc++-v3/include/c_compatibility/stddef.h
new file mode 100644
index 00000000000..094c380ad02
--- /dev/null
+++ b/libstdc++-v3/include/c_compatibility/stddef.h
@@ -0,0 +1,38 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+#ifndef _CPP_STDDEF_H_
+#define _CPP_STDDEF_H_ 1
+
+#include <cstddef>
+
+using std::size_t;
+using std::ptrdiff_t;
+
+#endif
diff --git a/libstdc++-v3/include/c_compatibility/stdio.h b/libstdc++-v3/include/c_compatibility/stdio.h
new file mode 100644
index 00000000000..930ffd4861d
--- /dev/null
+++ b/libstdc++-v3/include/c_compatibility/stdio.h
@@ -0,0 +1,85 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+#ifndef _CPP_STDIO_H_
+#define _CPP_STDIO_H_ 1
+
+#include <cstdio>
+
+using std::FILE;
+using std::fpos_t;
+
+using std::remove;
+using std::rename;
+using std::tmpfile;
+using std::tmpnam;
+using std::fclose;
+using std::fflush;
+using std::fopen;
+using std::freopen;
+using std::setbuf;
+using std::setvbuf;
+using std::fprintf;
+using std::fscanf;
+using std::printf;
+using std::scanf;
+using std::snprintf;
+using std::sprintf;
+using std::sscanf;
+using std::vfprintf;
+using std::vfscanf;
+using std::vprintf;
+using std::vscanf;
+using std::vsnprintf;
+using std::vsprintf;
+using std::vsscanf;
+using std::fgetc;
+using std::fgets;
+using std::fputc;
+using std::fputs;
+using std::getc;
+using std::getchar;
+using std::gets;
+using std::putc;
+using std::putchar;
+using std::puts;
+using std::ungetc;
+using std::fread;
+using std::fwrite;
+using std::fgetpos;
+using std::fseek;
+using std::fsetpos;
+using std::ftell;
+using std::rewind;
+using std::clearerr;
+using std::feof;
+using std::ferror;
+using std::perror;
+
+#endif
diff --git a/libstdc++-v3/include/c_compatibility/stdlib.h b/libstdc++-v3/include/c_compatibility/stdlib.h
new file mode 100644
index 00000000000..d516034d9d7
--- /dev/null
+++ b/libstdc++-v3/include/c_compatibility/stdlib.h
@@ -0,0 +1,67 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+#ifndef _CPP_STDLIB_H_
+#define _CPP_STDLIB_H_ 1
+
+#include <cstdlib>
+
+using std::div_t;
+using std::ldiv_t;
+
+using std::abort;
+using std::abs;
+using std::atexit;
+using std::atof;
+using std::atoi;
+using std::atol;
+using std::bsearch;
+using std::calloc;
+using std::div;
+using std::exit;
+using std::free;
+using std::getenv;
+using std::labs;
+using std::ldiv;
+using std::malloc;
+using std::mblen;
+using std::mbstowcs;
+using std::mbtowc;
+using std::qsort;
+using std::rand;
+using std::realloc;
+using std::srand;
+using std::strtod;
+using std::strtol;
+using std::strtoul;
+using std::system;
+using std::wcstombs;
+using std::wctomb;
+
+#endif
diff --git a/libstdc++-v3/include/c_compatibility/string.h b/libstdc++-v3/include/c_compatibility/string.h
new file mode 100644
index 00000000000..b639157ee59
--- /dev/null
+++ b/libstdc++-v3/include/c_compatibility/string.h
@@ -0,0 +1,58 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+#ifndef _CPP_STRING_H_
+#define _CPP_STRING_H_ 1
+
+#include <cstring>
+
+using std::memcpy;
+using std::memmove;
+using std::strcpy;
+using std::strncpy;
+using std::strcat;
+using std::strncat;
+using std::memcmp;
+using std::strcmp;
+using std::strcoll;
+using std::strncmp;
+using std::strxfrm;
+using std::memchr;
+using std::strchr;
+using std::strcspn;
+using std::strpbrk;
+using std::strrchr;
+using std::strspn;
+using std::strstr;
+using std::strtok;
+using std::memset;
+using std::strerror;
+using std::strlen;
+
+#endif
diff --git a/libstdc++-v3/include/c_compatibility/time.h b/libstdc++-v3/include/c_compatibility/time.h
new file mode 100644
index 00000000000..6d07aa1aed6
--- /dev/null
+++ b/libstdc++-v3/include/c_compatibility/time.h
@@ -0,0 +1,60 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+#ifndef _CPP_TIME_H_
+#define _CPP_TIME_H_ 1
+
+#include <ctime>
+
+// Get rid of those macros defined in <time.h> in lieu of real functions.
+#undef clock
+#undef difftime
+#undef mktime
+#undef time
+#undef asctime
+#undef ctime
+#undef gmtime
+#undef localtime
+#undef strftime
+
+using std::clock_t;
+using std::time_t;
+using std::tm;
+
+using std::clock;
+using std::difftime;
+using std::mktime;
+using std::time;
+using std::asctime;
+using std::ctime;
+using std::gmtime;
+using std::localtime;
+using std::strftime;
+
+#endif
diff --git a/libstdc++-v3/include/c_compatibility/wchar.h b/libstdc++-v3/include/c_compatibility/wchar.h
new file mode 100644
index 00000000000..e9485a54ded
--- /dev/null
+++ b/libstdc++-v3/include/c_compatibility/wchar.h
@@ -0,0 +1,106 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+#ifndef _CPP_WCHAR_H_
+#define _CPP_WCHAR_H_ 1
+
+#include <cwchar>
+
+using std::mbstate_t;
+
+#if _GLIBCPP_USE_WCHAR_T
+using std::wint_t;
+
+using std::btowc;
+using std::wctob;
+using std::fgetwc;
+using std::fgetwc;
+using std::fgetws;
+using std::fputwc;
+using std::fputws;
+using std::fwide;
+using std::fwprintf;
+using std::fwscanf;
+using std::swprintf;
+using std::swscanf;
+using std::vfwprintf;
+using std::vfwscanf;
+using std::vswprintf;
+using std::vswscanf;
+using std::vwprintf;
+using std::vwscanf;
+using std::wprintf;
+using std::wscanf;
+using std::getwc;
+using std::getwchar;
+using std::mbsinit;
+using std::mbrlen;
+using std::mbrtowc;
+using std::mbsrtowcs;
+using std::wcsrtombs;
+using std::putwc;
+using std::putwchar;
+using std::ungetwc;
+using std::wcrtomb;
+using std::wcstod;
+using std::wcstof;
+using std::wcstol;
+using std::wcstoul;
+using std::wcscpy;
+using std::wcsncpy;
+using std::wcscat;
+using std::wcsncat;
+using std::wcscmp;
+using std::wcscoll;
+using std::wcsncmmp;
+using std::wcsxfrm;
+using std::wcschr;
+using std::wcscspn;
+using std::wcslen;
+using std::wcspbrk;
+using std::wcsrchr;
+using std::wcsspn;
+using std::wcsstr;
+using std::wcstok;
+using std::wmemchr;
+using std::wmemcmp;
+using std::wmemcpy;
+using std::wmemmove;
+using std::wmemset;
+using std::wcsftime;
+
+#if _GLIBCPP_USE_C99
+using std::wcstold;
+using std::wcstoll;
+using std::wcstoull;
+#endif
+
+#endif //_GLIBCPP_USE_WCHAR_T
+
+#endif
diff --git a/libstdc++-v3/include/c_compatibility/wctype.h b/libstdc++-v3/include/c_compatibility/wctype.h
new file mode 100644
index 00000000000..2c75ec8e960
--- /dev/null
+++ b/libstdc++-v3/include/c_compatibility/wctype.h
@@ -0,0 +1,55 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+#ifndef _CPP_CWCTYPE_H_
+#define _CPP_CWCTYPE_H_ 1
+
+#include <cwctype>
+
+using std::wctype_t;
+using std::wctrans_t;
+using std::iswalpha;
+using std::iswupper;
+using std::iswlower;
+using std::iswdigit;
+using std::iswxdigit;
+using std::iswalnum;
+using std::iswspace;
+using std::iswpunct;
+using std::iswprint;
+using std::iswgraph;
+using std::iswcntrl;
+using std::iswctype;
+using std::towctrans;
+using std::towlower;
+using std::towupper;
+using std::wctrans;
+using std::wctype;
+
+#endif
OpenPOWER on IntegriCloud