AI 145159: am: CL 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.
  Original author: niko

Automated import of CL 145159
This commit is contained in:
Niko Catania 2009-04-08 18:49:17 -07:00 committed by The Android Open Source Project
parent 3e294b91a0
commit c2fc66958c
7 changed files with 341 additions and 2 deletions

View File

@ -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 <assert.h>

49
libstdc++/include/csetjmp Normal file
View File

@ -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 <setjmp.h>
#ifndef setjmp
#define setjmp(env) setjmp (env)
#endif
namespace std
{
using ::jmp_buf;
using ::longjmp;
} // namespace std
#endif // BIONIC_LIBSTDCPP_INCLUDE_CSETJMP__

46
libstdc++/include/csignal Normal file
View File

@ -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 <signal.h>
namespace std
{
using ::sig_atomic_t;
using ::signal;
using ::raise;
} // namespace std
#endif // BIONIC_LIBSTDCPP_INCLUDE_CSIGNAL__

View File

@ -39,8 +39,8 @@
#include <stddef.h>
namespace std {
using ::ptrdiff_t;
using ::size_t;
using ::ptrdiff_t;
using ::size_t;
} // namespace std
#endif // BIONIC_LIBSTDCPP_INCLUDE_CSTDDEF__

40
libstdc++/include/cstdint Normal file
View File

@ -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 <stdint.h>
#endif // BIONIC_LIBSTDCPP_INCLUDE_CSTDINT__

92
libstdc++/include/cstdio Normal file
View File

@ -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 <cstddef>
#include <stdio.h>
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__

108
libstdc++/include/cstdlib Normal file
View File

@ -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 <stdlib.h>
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__