From 00a18f62a7c97299cea017578ec7ec179215492b Mon Sep 17 00:00:00 2001 From: Niko Catania <> Date: Wed, 8 Apr 2009 09:01:36 -0700 Subject: AI 145059: (Almost) final set of wrapper around the C headers for stdc++ and their tests. The only one left is cstring. * bionic/libstdc++/include/cstdlib: * bionic/libstdc++/include/cstdio: * bionic/libstdc++/include/cstdint: * bionic/libstdc++/include/csignal: * bionic/libstdc++/include/csetjmp: Added header file. Checks the bionic headers file were picked up instead of the host ones. Added test for new header files * system/extras/tests/bionic/libstdc++/Android.mk: Added tests for the new header files. EXTRA_CFLAGS: include the bionic header files. BUG=1601432 Automated import of CL 145059 --- libstdc++/include/cassert | 4 ++ libstdc++/include/csetjmp | 49 +++++++++++++++++++++ libstdc++/include/csignal | 46 ++++++++++++++++++++ libstdc++/include/cstddef | 4 +- libstdc++/include/cstdint | 40 +++++++++++++++++ libstdc++/include/cstdio | 92 +++++++++++++++++++++++++++++++++++++++ libstdc++/include/cstdlib | 108 ++++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 341 insertions(+), 2 deletions(-) create mode 100644 libstdc++/include/csetjmp create mode 100644 libstdc++/include/csignal create mode 100644 libstdc++/include/cstdint create mode 100644 libstdc++/include/cstdio create mode 100644 libstdc++/include/cstdlib (limited to 'libstdc++') diff --git a/libstdc++/include/cassert b/libstdc++/include/cassert index 38b518d..5753e34 100644 --- a/libstdc++/include/cassert +++ b/libstdc++/include/cassert @@ -32,4 +32,8 @@ * can be included multiple times with different definition of NDEBUG, hence the * absence of include guards. */ + +#ifndef BIONIC_LIBSTDCPP_INCLUDE_CASSERT__ +#define BIONIC_LIBSTDCPP_INCLUDE_CASSERT__ +#endif #include diff --git a/libstdc++/include/csetjmp b/libstdc++/include/csetjmp new file mode 100644 index 0000000..a68d127 --- /dev/null +++ b/libstdc++/include/csetjmp @@ -0,0 +1,49 @@ +/* -*- c++ -*- */ +/* + * Copyright (C) 2009 The Android Open Source Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef BIONIC_LIBSTDCPP_INCLUDE_CSETJMP__ +#define BIONIC_LIBSTDCPP_INCLUDE_CSETJMP__ + +/* + * Standard C++ Library wrapper around the C setjmp.h header file. + */ + +#include + +#ifndef setjmp +#define setjmp(env) setjmp (env) +#endif + +namespace std +{ +using ::jmp_buf; +using ::longjmp; +} // namespace std + +#endif // BIONIC_LIBSTDCPP_INCLUDE_CSETJMP__ diff --git a/libstdc++/include/csignal b/libstdc++/include/csignal new file mode 100644 index 0000000..2600a75 --- /dev/null +++ b/libstdc++/include/csignal @@ -0,0 +1,46 @@ +/* -*- c++ -*- */ +/* + * Copyright (C) 2009 The Android Open Source Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef BIONIC_LIBSTDCPP_INCLUDE_CSIGNAL__ +#define BIONIC_LIBSTDCPP_INCLUDE_CSIGNAL__ + +/* + * Standard C++ Library wrapper around the C signal.h header file. + */ + +#include + +namespace std +{ +using ::sig_atomic_t; +using ::signal; +using ::raise; +} // namespace std + +#endif // BIONIC_LIBSTDCPP_INCLUDE_CSIGNAL__ diff --git a/libstdc++/include/cstddef b/libstdc++/include/cstddef index 31c1bd1..fc1ca9d 100644 --- a/libstdc++/include/cstddef +++ b/libstdc++/include/cstddef @@ -39,8 +39,8 @@ #include namespace std { - using ::ptrdiff_t; - using ::size_t; +using ::ptrdiff_t; +using ::size_t; } // namespace std #endif // BIONIC_LIBSTDCPP_INCLUDE_CSTDDEF__ diff --git a/libstdc++/include/cstdint b/libstdc++/include/cstdint new file mode 100644 index 0000000..3df56df --- /dev/null +++ b/libstdc++/include/cstdint @@ -0,0 +1,40 @@ +/* -*- c++ -*- */ +/* + * Copyright (C) 2009 The Android Open Source Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef BIONIC_LIBSTDCPP_INCLUDE_CSTDINT__ +#define BIONIC_LIBSTDCPP_INCLUDE_CSTDINT__ + +/* + * Standard C++ Library wrapper around the C stdint.h header file. + */ + +#include + + +#endif // BIONIC_LIBSTDCPP_INCLUDE_CSTDINT__ diff --git a/libstdc++/include/cstdio b/libstdc++/include/cstdio new file mode 100644 index 0000000..d46a18b --- /dev/null +++ b/libstdc++/include/cstdio @@ -0,0 +1,92 @@ +/* -*- c++ -*- */ +/* + * Copyright (C) 2009 The Android Open Source Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef BIONIC_LIBSTDCPP_INCLUDE_CSTDIO__ +#define BIONIC_LIBSTDCPP_INCLUDE_CSTDIO__ + +/* + * Standard C++ Library wrapper around the C stdio.h header file. + */ +#include +#include + +namespace std { +using ::FILE; +using ::fpos_t; + +using ::clearerr; +using ::fclose; +using ::feof; +using ::ferror; +using ::fflush; +using ::fgetc; +using ::fgetpos; +using ::fgets; +using ::fopen; +using ::fprintf; +using ::fputc; +using ::fputs; +using ::fread; +using ::freopen; +using ::fscanf; +using ::fseek; +using ::fsetpos; +using ::ftell; +using ::fwrite; +using ::getc; +using ::getchar; +using ::gets; +using ::perror; +using ::printf; +using ::putc; +using ::putchar; +using ::puts; +using ::remove; +using ::rename; +using ::rewind; +using ::scanf; +using ::setbuf; +using ::setvbuf; +using ::sprintf; +using ::sscanf; +using ::tmpfile; +using ::tmpnam; +using ::ungetc; +using ::vfprintf; +using ::vprintf; +using ::vsprintf; + +using ::snprintf; +using ::vfscanf; +using ::vscanf; +using ::vsnprintf; +using ::vsscanf; +} // namespace std + +#endif // BIONIC_LIBSTDCPP_INCLUDE_CSTDIO__ diff --git a/libstdc++/include/cstdlib b/libstdc++/include/cstdlib new file mode 100644 index 0000000..9e8a7ce --- /dev/null +++ b/libstdc++/include/cstdlib @@ -0,0 +1,108 @@ +/* -*- c++ -*- */ +/* + * Copyright (C) 2009 The Android Open Source Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef BIONIC_LIBSTDCPP_INCLUDE_CSTDLIB__ +#define BIONIC_LIBSTDCPP_INCLUDE_CSTDLIB__ + +/* + * Standard C++ Library wrapper around the C stdlib.h header file. + */ +#include + +namespace std { + +using ::exit; +using ::abort; +using ::atexit; +using ::on_exit; + +using ::getenv; +using ::putenv; +using ::setenv; +using ::unsetenv; +using ::clearenv; + +using ::mktemp; +using ::mkstemp; + +using ::strtol; +using ::strtoll; +using ::strtoul; +using ::strtoull; +using ::strtod; +using ::strtof; + +using ::atoi; +using ::atol; +using ::atoll; +using ::atof; + +using ::abs; +using ::labs; +using ::llabs; + +using ::realpath; +using ::system; + +using ::bsearch; +using ::qsort; + +using ::jrand48; +using ::mrand48; +using ::nrand48; +using ::lrand48; +using ::seed48; +using ::srand48; + +using ::rand; +using ::srand; +using ::random; +using ::srandom; + +using ::unlockpt; +using ::ptsname; +using ::ptsname_r; +using ::getpt; +using ::grantpt; + +using ::div_t; +using ::div; +using ::ldiv_t; +using ::ldiv; +using ::lldiv_t; +using ::lldiv; + +using ::mblen; +using ::mbstowcs; +using ::mbtowc; +using ::wctomb; +using ::wcstombs; +} // namespace std + +#endif // BIONIC_LIBSTDCPP_INCLUDE_CSTDLIB__ -- cgit v1.1