diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 18:28:13 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 18:28:13 -0800 |
commit | 1767f908af327fa388b1c66883760ad851267013 (patch) | |
tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /libstdc++ | |
parent | a799b53f10e5a6fd51fef4436cfb7ec99836a516 (diff) | |
download | bionic-1767f908af327fa388b1c66883760ad851267013.zip bionic-1767f908af327fa388b1c66883760ad851267013.tar.gz bionic-1767f908af327fa388b1c66883760ad851267013.tar.bz2 |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'libstdc++')
-rw-r--r-- | libstdc++/Android.mk | 28 | ||||
-rw-r--r-- | libstdc++/MODULE_LICENSE_BSD | 0 | ||||
-rw-r--r-- | libstdc++/NOTICE | 26 | ||||
-rw-r--r-- | libstdc++/include/cstddef | 0 | ||||
-rw-r--r-- | libstdc++/include/new | 29 | ||||
-rw-r--r-- | libstdc++/include/stl_pair.h | 122 | ||||
-rw-r--r-- | libstdc++/include/typeinfo | 28 | ||||
-rw-r--r-- | libstdc++/include/utility | 38 | ||||
-rw-r--r-- | libstdc++/src/new.cpp | 65 | ||||
-rw-r--r-- | libstdc++/src/one_time_construction.cpp | 50 | ||||
-rw-r--r-- | libstdc++/src/pure_virtual.cpp | 10 | ||||
-rw-r--r-- | libstdc++/src/typeinfo.cpp | 32 |
12 files changed, 0 insertions, 428 deletions
diff --git a/libstdc++/Android.mk b/libstdc++/Android.mk deleted file mode 100644 index df97c9f..0000000 --- a/libstdc++/Android.mk +++ /dev/null @@ -1,28 +0,0 @@ -LOCAL_PATH:= $(call my-dir) -include $(CLEAR_VARS) - -LOCAL_SRC_FILES:= \ - src/one_time_construction.cpp \ - src/new.cpp \ - src/pure_virtual.cpp \ - src/typeinfo.cpp - -LOCAL_MODULE:= libstdc++ - -LOCAL_SYSTEM_SHARED_LIBRARIES := libc - -include $(BUILD_SHARED_LIBRARY) - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES:= \ - src/one_time_construction.cpp \ - src/new.cpp \ - src/pure_virtual.cpp \ - src/typeinfo.cpp - -LOCAL_MODULE:= libstdc++ - -LOCAL_SYSTEM_SHARED_LIBRARIES := libc - -include $(BUILD_STATIC_LIBRARY) diff --git a/libstdc++/MODULE_LICENSE_BSD b/libstdc++/MODULE_LICENSE_BSD deleted file mode 100644 index e69de29..0000000 --- a/libstdc++/MODULE_LICENSE_BSD +++ /dev/null diff --git a/libstdc++/NOTICE b/libstdc++/NOTICE deleted file mode 100644 index 3831b34..0000000 --- a/libstdc++/NOTICE +++ /dev/null @@ -1,26 +0,0 @@ -Copyright (C) 2007 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: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. 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. -3. Neither the name of the project nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE PROJECT 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 PROJECT 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. diff --git a/libstdc++/include/cstddef b/libstdc++/include/cstddef deleted file mode 100644 index e69de29..0000000 --- a/libstdc++/include/cstddef +++ /dev/null diff --git a/libstdc++/include/new b/libstdc++/include/new deleted file mode 100644 index 559308b..0000000 --- a/libstdc++/include/new +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef __NEW__ -#define __NEW__ - -#include <stddef.h> - -namespace std { - using ::size_t; - - struct nothrow_t {}; - extern const nothrow_t nothrow; -} - -void* operator new(std::size_t); -void* operator new[](std::size_t); -void operator delete(void*); -void operator delete[](void*); -void* operator new(std::size_t, const std::nothrow_t&); -void* operator new[](std::size_t, const std::nothrow_t&); -void operator delete(void*, const std::nothrow_t&); -void operator delete[](void*, const std::nothrow_t&); - -inline void* operator new(std::size_t, void* p) { return p; } -inline void* operator new[](std::size_t, void* p) { return p; } - -// these next two are not really required, since exceptions are off -inline void operator delete(void*, void*) { } -inline void operator delete[](void*, void*) { } - -#endif // __NEW__ diff --git a/libstdc++/include/stl_pair.h b/libstdc++/include/stl_pair.h deleted file mode 100644 index 37f757b..0000000 --- a/libstdc++/include/stl_pair.h +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (C) 2008 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. - */ -/* - * - * Copyright (c) 1994 - * Hewlett-Packard Company - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Hewlett-Packard Company makes no - * representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied warranty. - * - * - * Copyright (c) 1996,1997 - * Silicon Graphics Computer Systems, Inc. - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Silicon Graphics makes no - * representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied warranty. - */ - -/* NOTE: This is an internal header file, included by other STL headers. - * You should not attempt to use it directly. - */ - -#ifndef __SGI_STL_INTERNAL_PAIR_H -#define __SGI_STL_INTERNAL_PAIR_H - -__STL_BEGIN_NAMESPACE - -template <class _T1, class _T2> -struct pair { - typedef _T1 first_type; - typedef _T2 second_type; - - _T1 first; - _T2 second; - pair() : first(), second() {} - pair(const _T1& __a, const _T2& __b) : first(__a), second(__b) {} - - template <class _U1, class _U2> - pair(const pair<_U1, _U2>& __p) : first(__p.first), second(__p.second) {} -}; - -template <class _T1, class _T2> -inline bool operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) -{ - return __x.first == __y.first && __x.second == __y.second; -} - -template <class _T1, class _T2> -inline bool operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) -{ - return __x.first < __y.first || - (!(__y.first < __x.first) && __x.second < __y.second); -} - -template <class _T1, class _T2> -inline bool operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { - return !(__x == __y); -} - -template <class _T1, class _T2> -inline bool operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { - return __y < __x; -} - -template <class _T1, class _T2> -inline bool operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { - return !(__y < __x); -} - -template <class _T1, class _T2> -inline bool operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { - return !(__x < __y); -} - -template <class _T1, class _T2> -inline pair<_T1, _T2> make_pair(_T1 __x, _T2 __y) -{ - return pair<_T1, _T2>(__x, __y); -} - -__STL_END_NAMESPACE - -#endif /* __SGI_STL_INTERNAL_PAIR_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++/include/typeinfo b/libstdc++/include/typeinfo deleted file mode 100644 index 8a51a54..0000000 --- a/libstdc++/include/typeinfo +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef _TYPEINFO_HEADER_GAURD -#define _TYPEINFO_HEADER_GAURD - - -namespace std { - class type_info; - class bad_cast; - class bad_typeid; -}; - - -class type_info { -public: - type_info(); - virtual ~type_info(); - - char const * name() const; - - bool operator==(type_info const & right) const; - bool operator!=(type_info const & right) const; - bool before(type_info const & right) const; - -private: - type_info(type_info const & right); - type_info & operator=(type_info const & right); -}; - -#endif diff --git a/libstdc++/include/utility b/libstdc++/include/utility deleted file mode 100644 index 12044a7..0000000 --- a/libstdc++/include/utility +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (C) 2008 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 _CPP_UTILITY -#define _CPP_UTILITY - -#pragma GCC system_header - -#define __STL_BEGIN_NAMESPACE namespace std { -#define __STL_END_NAMESPACE } - -#include <stl_pair.h> - -#endif /* _CPP_UTILITY */ diff --git a/libstdc++/src/new.cpp b/libstdc++/src/new.cpp deleted file mode 100644 index 8189159..0000000 --- a/libstdc++/src/new.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include "new" -#include <stdlib.h> - -const std::nothrow_t std::nothrow = {}; - -void* operator new(std::size_t size) -{ - void* p = malloc(size); - if (p == NULL) { - // abort(); - } - return p; -} - -void* operator new[](std::size_t size) -{ - void* p = malloc(size); - if (p == NULL) { - // abort(); - } - return p; -} - -void operator delete(void* ptr) -{ - if (ptr) { - free(ptr); - } -} - -void operator delete[](void* ptr) -{ - if (ptr) { - free(ptr); - } -} - -void* operator new(std::size_t size, const std::nothrow_t&) -{ - return malloc(size); -} - -void* operator new[](std::size_t size, const std::nothrow_t&) -{ - return malloc(size); -} - -void operator delete(void* ptr, const std::nothrow_t&) -{ - if (ptr) { - free(ptr); - } -} - -void operator delete[](void* ptr, const std::nothrow_t&) -{ - if (ptr) { - free(ptr); - } -} - - - - - diff --git a/libstdc++/src/one_time_construction.cpp b/libstdc++/src/one_time_construction.cpp deleted file mode 100644 index 304afb8..0000000 --- a/libstdc++/src/one_time_construction.cpp +++ /dev/null @@ -1,50 +0,0 @@ -/* - * one_time_construction.cpp - * - * Copyright 2006 The Android Open Source Project - * - * This file contains C++ ABI support functions for one time - * constructors as defined in the "Run-time ABI for the ARM Architecture" - * section 4.4.2 - */ - -#include <stddef.h> -#include <sys/atomics.h> - -extern "C" int __futex_wait(volatile void *ftx, int val, const struct timespec *timeout); -extern "C" int __futex_wake(volatile void *ftx, int count); - - -extern "C" int __cxa_guard_acquire(int volatile * gv) -{ - // 0 -> 2, return 1 - // 2 -> 6, wait and return 0 - // 6 untouched, wait and return 0 - // 1 untouched, return 0 -retry: - if (__atomic_cmpxchg(0, 0x2, gv) == 0) - return 1; - - __atomic_cmpxchg(0x2, 0x6, gv); // Indicate there is a waiter - __futex_wait(gv, 0x6, NULL); - if(*gv != 1) // __cxa_guard_abort was called, let every thread try since there is no return code for this condition - goto retry; - return 0; -} - -extern "C" void __cxa_guard_release(int volatile * gv) -{ - // 2 -> 1 - // 6 -> 1, and wake - if (__atomic_cmpxchg(0x2, 0x1, gv) == 0) - return; - - *gv = 0x1; - __futex_wake(gv, 0x7fffffff); -} - -extern "C" void __cxa_guard_abort(int volatile * gv) -{ - *gv = 0; - __futex_wake(gv, 0x7fffffff); -} diff --git a/libstdc++/src/pure_virtual.cpp b/libstdc++/src/pure_virtual.cpp deleted file mode 100644 index 663c1e9..0000000 --- a/libstdc++/src/pure_virtual.cpp +++ /dev/null @@ -1,10 +0,0 @@ - -#include <stdio.h> -#include <stdlib.h> - -extern "C" void __cxa_pure_virtual() -{ - fprintf(stderr, "Pure virtual function called. Are you calling virtual methods from a destructor?\n"); - abort(); -} - diff --git a/libstdc++/src/typeinfo.cpp b/libstdc++/src/typeinfo.cpp deleted file mode 100644 index b426f1a..0000000 --- a/libstdc++/src/typeinfo.cpp +++ /dev/null @@ -1,32 +0,0 @@ -#include "typeinfo" -#include <stdlib.h> - -type_info::type_info() { -} - -type_info::~type_info() { -} - -char const * -type_info::name() const { - return "N/A"; -} - -bool -type_info::operator==(type_info const & right) const { - return false; -} - -bool -type_info::operator!=(type_info const & right) const { - return false; -} - -bool -type_info::before(type_info const & right) const { - return false; -} - -type_info::type_info(type_info const & right) { -} - |