OSDN Git Service

2007-03-04 Benjamin Kosnik <bkoz@redhat.com>
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 4 Mar 2007 22:59:49 +0000 (22:59 +0000)
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 4 Mar 2007 22:59:49 +0000 (22:59 +0000)
* acinclude.m4 (GLIBCXX_ENABLE_CHEADERS): Add c_global.
* configure.host (c_model): Set default to c_global.
* configure: Regenerate.
* include/Makefile.am (c_compatibility_headers_extra): Make
conditional on GLIBCXX_C_HEADERS_COMPATIBILITY.
(c_base_headers_extra): Make conditional on GLIBCXX_C_HEADERS_EXTRA.
(c_compatibility_headers): Make conditional on c/c_std/c_global.
* include/Makefile.in: Regenerate.
* docs/html/configopts.html: Add c_global information to
--enable-cheaders. Eventually, "c_std" should mean "C" includes
that are in namespace std, with optional C++ "C" compatibility
includes to inject into global scope. And "c_global" should mean
"C" includes that are in the global namespace, with C++ includes
injecting into namespace std and no C++ "C" compatibility
includes.

2007-03-04  Benjamin Kosnik  <bkoz@redhat.com>

* include/bits/c++config: Add _GLIBCXX_NAMEPACE_C.
Add _GLIBCXX_NAMESPACE_ASSOCIATION_CXX200x.
Add _GLIBCXX_TR1 as namespace macro.
Add namespace associations for std::__cxx200x conditionally.

* include/c_compatibility/assert.h: Correct doxygen markup,
conditionalize the global injections on _GLIBCXX_NAMESPACE_C.
* include/c_compatibility/ctype.h: Same.
* include/c_compatibility/errno.h: Same.
* include/c_compatibility/float.h: Same.
* include/c_compatibility/iso646.h: Same.
* include/c_compatibility/limits.h: Same.
* include/c_compatibility/locale.h: Same.
* include/c_compatibility/math.h: Same.
* include/c_compatibility/setjmp.h: Same.
* include/c_compatibility/signal.h: Same.
* include/c_compatibility/stdarg.h: Same.
* include/c_compatibility/stddef.h: Same.
* include/c_compatibility/stdio.h: Same.
* include/c_compatibility/stdlib.h: Same.
* include/c_compatibility/string.h: Same.
* include/c_compatibility/time.h: Same.
* include/c_compatibility/wchar.h: Same.
* include/c_compatibility/wctype.h: Same.

* include/c_compatibility/complex.h: Add.
* include/c_compatibility/fenv.h: Same.
* include/c_compatibility/inttypes.h: Same.
* include/c_compatibility/stdbool.h: Same.
* include/c_compatibility/stdint.h: Same.
* include/c_compatibility/tgmath.h: Same.

* include/c_global/cassert: Add, use include_next, use C++0x features
if -std=c++0x.
* include/c_global/cctype: Same.
* include/c_global/cerrno: Same.
* include/c_global/cfloat: Same.
* include/c_global/ciso646: Same.
* include/c_global/climits: Same.
* include/c_global/clocale: Same.
* include/c_global/cmath: Same.
* include/c_global/cmath.tcc: Same.
* include/c_global/csetjmp: Same.
* include/c_global/csignal: Same.
* include/c_global/cstdarg: Same.
* include/c_global/cstddef: Same.
* include/c_global/cstdio: Same.
* include/c_global/cstdlib: Same.
* include/c_global/cstring: Same.
* include/c_global/ctime: Same.
* include/c_global/cwchar: Same.
* include/c_global/cwctype: Same.

* include/c_global/ccomplex: Add.
* include/c_global/cfenv: Add.
* include/c_global/cinttypes: Add.
* include/c_global/cstdbool: Add.
* include/c_global/cstdint: Add.
* include/c_global/ctgmath: Add.

* include/std/algorithm: Use C++0x features if -std=c++0x.
* include/std/bitset: Same.
* include/std/complex: Same.
* include/std/deque: Same.
* include/std/fstream: Same.
* include/std/functional: Same.
* include/std/iomanip: Same.
* include/std/ios: Same.
* include/std/iosfwd: Same.
* include/std/iostream: Same.
* include/std/istream: Same.
* include/std/iterator: Same.
* include/std/limits: Same.
* include/std/list: Same.
* include/std/locale: Same.
* include/std/map: Same.
* include/std/memory: Same.
* include/std/numeric: Same.
* include/std/ostream: Same.
* include/std/queue: Same.
* include/std/set: Same.
* include/std/sstream: Same.
* include/std/stack: Same.
* include/std/stdexcept: Same.
* include/std/streambuf: Same.
* include/std/string: Same.
* include/std/utility: Same.
* include/std/valarray: Same.
* include/std/vector: Same.

* include/std/array: Add.
* include/std/random: Add.
* include/std/regex: Add.
* include/std/tuple: Add.
* include/std/type_traits: Add.
* include/std/unordered_map: Add.
* include/std/unordered_set: Add.
* include/std/c++0x_warning.h: Add.

* include/tr1/array: Switch namespaces based on _GLIBCXX_TR1.
* include/tr1/boost_shared_ptr.h: Same.
* include/tr1/cctype: Same.
* include/tr1/cfenv: Same.
* include/tr1/cinttypes: Same.
* include/tr1/cmath: Same.
* include/tr1/common.h: Same.
* include/tr1/complex: Same.
* include/tr1/cstdint: Same.
* include/tr1/cstdio: Same.
* include/tr1/cstdlib: Same.
* include/tr1/cwchar: Same.
* include/tr1/cwctype: Same.
* include/tr1/functional: Same.
* include/tr1/functional_hash.h: Same.
* include/tr1/functional_iterate.h: Same.
* include/tr1/hashtable: Same.
* include/tr1/hashtable_policy.h: Same.
* include/tr1/math.h: Same.
* include/tr1/memory: Same.
* include/tr1/random: Same.
* include/tr1/random.tcc: Same.
* include/tr1/ref_fwd.h: Same.
* include/tr1/repeat.h: Same.
* include/tr1/stdlib.h: Same.
* include/tr1/tuple: Same.
* include/tr1/tuple_iterate.h: Same.
* include/tr1/type_traits: Same.
* include/tr1/type_traits_fwd.h: Same.
* include/tr1/unordered_map: Same.
* include/tr1/unordered_set: Same.
* include/tr1/utility: Same.

* include/tr1/ccomplex: Add.
* include/tr1/complex.h: Add.
* include/tr1/regex: Add.

* include/Makefile.am: Add C++0x headers, "C" compatibility headers.
* include/Makefile.in: Regenerate.

* testsuite/tr1/headers.cc: Add in regex/complex.

* testsuite/17_intro/headers/c++200x/all.cc: New.
* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Same.
* testsuite/17_intro/using_namespace_std_tr1_neg.cc: Same.
* testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc: Same.
* testsuite/18_support/headers/cstdint/std_c++0x_neg.cc: Same.
* testsuite/18_support/headers/cstdint/types_std_c++0x.cc: Same.
* testsuite/20_util/enable_shared_from_this/requirements/
explicit_instantiation.cc: Same.
* testsuite/20_util/headers/functional/types_std_c++0x.cc: Same.
* testsuite/20_util/headers/functional/
using_namespace_std_placeholders.cc: Same.
* testsuite/20_util/headers/memory/types_std_c++0x.cc: Same.
* testsuite/20_util/headers/type_traits/std_c++0x_neg.cc: Same.
* testsuite/20_util/headers/type_traits/types_std_c++0x.cc: Same.
* testsuite/20_util/shared_ptr/requirements/
explicit_instantiation.cc: Same.
* testsuite/20_util/weak_ptr/requirements/
explicit_instantiation.cc: Same.
* testsuite/23_containers/array/requirements/
explicit_instantiation.cc: Same.
* testsuite/23_containers/hash/requirements/
explicit_instantiation.cc: Same.
* testsuite/23_containers/headers/array/std_c++0x_neg.cc: Same.
* testsuite/23_containers/headers/tuple/std_c++0x_neg.cc: Same.
* testsuite/23_containers/headers/tuple/types_std_c++0x.cc: Same.
* testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc: Same.
* testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc: Same.
* testsuite/23_containers/tuple/requirements/
explicit_instantiation.cc: Same.
* testsuite/23_containers/unordered_map/requirements/
explicit_instantiation.cc: Same.
* testsuite/23_containers/unordered_multimap/requirements/
explicit_instantiation.cc: Same.
* testsuite/23_containers/unordered_multiset/requirements/
explicit_instantiation.cc: Same.
* testsuite/23_containers/unordered_set/requirements/
explicit_instantiation.cc: Same.
* testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc: Same.
* testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc: Same.
* testsuite/26_numerics/headers/cfenv/types_std_c++0x.cc: Same.
* testsuite/26_numerics/headers/cmath/types_std_c++0x.cc: Same.
* testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Same.
* testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc: Same.
* testsuite/26_numerics/headers/random/std_c++0x_neg.cc: Same.
* testsuite/26_numerics/headers/random/types_std_c++0x.cc: Same.
* testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc: Same.
* testsuite/27_io/headers/cinttypes/types_std_c++0x.cc: Same.
* testsuite/28_regex/headers/regex/std_c++0x_neg.cc: Same.

* testsuite/tr1/8_c_compatibility/cfenv/types.cc: Rename ...
* testsuite/tr1/8_c_compatibility/cinttypes/types.cc: Same.
* testsuite/tr1/8_c_compatibility/cmath/types.cc: Same.
* testsuite/tr1/8_c_compatibility/cstdint/types.cc: Same.
* testsuite/tr1/8_c_compatibility/cstdlib/types.cc: Same.
* testsuite/tr1/8_c_compatibility/cfenv/types_std_tr1.cc: ...to this.
* testsuite/tr1/8_c_compatibility/cinttypes/types_std_tr1.cc: Same.
* testsuite/tr1/8_c_compatibility/cmath/types_std_tr1.cc: Same.
* testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc: Same.
* testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122533 138bc75d-0d04-0410-961f-82ee72b054a4

178 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/Makefile.in
libstdc++-v3/acinclude.m4
libstdc++-v3/configure
libstdc++-v3/configure.host
libstdc++-v3/docs/html/configopts.html
libstdc++-v3/include/Makefile.am
libstdc++-v3/include/Makefile.in
libstdc++-v3/include/bits/c++config
libstdc++-v3/include/c_compatibility/assert.h
libstdc++-v3/include/c_compatibility/complex.h [new file with mode: 0644]
libstdc++-v3/include/c_compatibility/ctype.h
libstdc++-v3/include/c_compatibility/errno.h
libstdc++-v3/include/c_compatibility/fenv.h [new file with mode: 0644]
libstdc++-v3/include/c_compatibility/float.h
libstdc++-v3/include/c_compatibility/inttypes.h [new file with mode: 0644]
libstdc++-v3/include/c_compatibility/iso646.h
libstdc++-v3/include/c_compatibility/limits.h
libstdc++-v3/include/c_compatibility/locale.h
libstdc++-v3/include/c_compatibility/math.h
libstdc++-v3/include/c_compatibility/setjmp.h
libstdc++-v3/include/c_compatibility/signal.h
libstdc++-v3/include/c_compatibility/stdarg.h
libstdc++-v3/include/c_compatibility/stdbool.h [new file with mode: 0644]
libstdc++-v3/include/c_compatibility/stddef.h
libstdc++-v3/include/c_compatibility/stdint.h [new file with mode: 0644]
libstdc++-v3/include/c_compatibility/stdio.h
libstdc++-v3/include/c_compatibility/stdlib.h
libstdc++-v3/include/c_compatibility/string.h
libstdc++-v3/include/c_compatibility/tgmath.h [new file with mode: 0644]
libstdc++-v3/include/c_compatibility/time.h
libstdc++-v3/include/c_compatibility/wchar.h
libstdc++-v3/include/c_compatibility/wctype.h
libstdc++-v3/include/c_global/cassert [new file with mode: 0644]
libstdc++-v3/include/c_global/ccomplex [new file with mode: 0644]
libstdc++-v3/include/c_global/cctype [new file with mode: 0644]
libstdc++-v3/include/c_global/cerrno [new file with mode: 0644]
libstdc++-v3/include/c_global/cfenv [new file with mode: 0644]
libstdc++-v3/include/c_global/cfloat [new file with mode: 0644]
libstdc++-v3/include/c_global/cinttypes [new file with mode: 0644]
libstdc++-v3/include/c_global/ciso646 [new file with mode: 0644]
libstdc++-v3/include/c_global/climits [new file with mode: 0644]
libstdc++-v3/include/c_global/clocale [new file with mode: 0644]
libstdc++-v3/include/c_global/cmath [new file with mode: 0644]
libstdc++-v3/include/c_global/cmath.tcc [new file with mode: 0644]
libstdc++-v3/include/c_global/csetjmp [new file with mode: 0644]
libstdc++-v3/include/c_global/csignal [new file with mode: 0644]
libstdc++-v3/include/c_global/cstdarg [new file with mode: 0644]
libstdc++-v3/include/c_global/cstdbool [new file with mode: 0644]
libstdc++-v3/include/c_global/cstddef [new file with mode: 0644]
libstdc++-v3/include/c_global/cstdint [new file with mode: 0644]
libstdc++-v3/include/c_global/cstdio [new file with mode: 0644]
libstdc++-v3/include/c_global/cstdlib [new file with mode: 0644]
libstdc++-v3/include/c_global/cstring [new file with mode: 0644]
libstdc++-v3/include/c_global/ctgmath [new file with mode: 0644]
libstdc++-v3/include/c_global/ctime [new file with mode: 0644]
libstdc++-v3/include/c_global/cwchar [new file with mode: 0644]
libstdc++-v3/include/c_global/cwctype [new file with mode: 0644]
libstdc++-v3/include/std/algorithm
libstdc++-v3/include/std/array [new file with mode: 0644]
libstdc++-v3/include/std/bitset
libstdc++-v3/include/std/c++0x_warning.h [new file with mode: 0644]
libstdc++-v3/include/std/complex
libstdc++-v3/include/std/deque
libstdc++-v3/include/std/fstream
libstdc++-v3/include/std/functional
libstdc++-v3/include/std/iomanip
libstdc++-v3/include/std/ios
libstdc++-v3/include/std/iosfwd
libstdc++-v3/include/std/iostream
libstdc++-v3/include/std/istream
libstdc++-v3/include/std/iterator
libstdc++-v3/include/std/limits
libstdc++-v3/include/std/list
libstdc++-v3/include/std/locale
libstdc++-v3/include/std/map
libstdc++-v3/include/std/memory
libstdc++-v3/include/std/numeric
libstdc++-v3/include/std/ostream
libstdc++-v3/include/std/queue
libstdc++-v3/include/std/random [new file with mode: 0644]
libstdc++-v3/include/std/regex [new file with mode: 0644]
libstdc++-v3/include/std/set
libstdc++-v3/include/std/sstream
libstdc++-v3/include/std/stack
libstdc++-v3/include/std/stdexcept
libstdc++-v3/include/std/streambuf
libstdc++-v3/include/std/string
libstdc++-v3/include/std/tuple [new file with mode: 0644]
libstdc++-v3/include/std/type_traits [new file with mode: 0644]
libstdc++-v3/include/std/unordered_map [new file with mode: 0644]
libstdc++-v3/include/std/unordered_set [new file with mode: 0644]
libstdc++-v3/include/std/utility
libstdc++-v3/include/std/valarray
libstdc++-v3/include/std/vector
libstdc++-v3/include/tr1/array
libstdc++-v3/include/tr1/boost_shared_ptr.h
libstdc++-v3/include/tr1/ccomplex [new file with mode: 0644]
libstdc++-v3/include/tr1/cctype
libstdc++-v3/include/tr1/cfenv
libstdc++-v3/include/tr1/cinttypes
libstdc++-v3/include/tr1/cmath
libstdc++-v3/include/tr1/common.h
libstdc++-v3/include/tr1/complex
libstdc++-v3/include/tr1/complex.h [new file with mode: 0644]
libstdc++-v3/include/tr1/cstdint
libstdc++-v3/include/tr1/cstdio
libstdc++-v3/include/tr1/cstdlib
libstdc++-v3/include/tr1/cwchar
libstdc++-v3/include/tr1/cwctype
libstdc++-v3/include/tr1/functional
libstdc++-v3/include/tr1/functional_hash.h
libstdc++-v3/include/tr1/functional_iterate.h
libstdc++-v3/include/tr1/hashtable
libstdc++-v3/include/tr1/hashtable_policy.h
libstdc++-v3/include/tr1/math.h
libstdc++-v3/include/tr1/memory
libstdc++-v3/include/tr1/random
libstdc++-v3/include/tr1/random.tcc
libstdc++-v3/include/tr1/ref_fwd.h
libstdc++-v3/include/tr1/regex [new file with mode: 0644]
libstdc++-v3/include/tr1/repeat.h
libstdc++-v3/include/tr1/stdlib.h
libstdc++-v3/include/tr1/tuple
libstdc++-v3/include/tr1/tuple_iterate.h
libstdc++-v3/include/tr1/type_traits
libstdc++-v3/include/tr1/type_traits_fwd.h
libstdc++-v3/include/tr1/unordered_map
libstdc++-v3/include/tr1/unordered_set
libstdc++-v3/include/tr1/utility
libstdc++-v3/libmath/Makefile.in
libstdc++-v3/libsupc++/Makefile.in
libstdc++-v3/po/Makefile.in
libstdc++-v3/src/Makefile.in
libstdc++-v3/testsuite/17_intro/headers/c++200x/all.cc [new file with mode: 0644]
libstdc++-v3/testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc [new file with mode: 0644]
libstdc++-v3/testsuite/17_intro/using_namespace_std_tr1_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/headers/cstdint/std_c++0x_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/headers/cstdint/types_std_c++0x.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/enable_shared_from_this/requirements/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/headers/functional/types_std_c++0x.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/headers/functional/using_namespace_std_placeholders.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/headers/memory/types_std_c++0x.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/weak_ptr/requirements/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/hash/requirements/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/headers/array/std_c++0x_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/headers/tuple/std_c++0x_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/headers/tuple/types_std_c++0x.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/tuple/requirements/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/headers/cfenv/types_std_c++0x.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/headers/random/std_c++0x_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/headers/random/types_std_c++0x.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/headers/cinttypes/types_std_c++0x.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/headers/regex/std_c++0x_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/Makefile.in
libstdc++-v3/testsuite/tr1/8_c_compatibility/cfenv/types_std_tr1.cc [moved from libstdc++-v3/testsuite/tr1/8_c_compatibility/cfenv/types.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/8_c_compatibility/cinttypes/types_std_tr1.cc [moved from libstdc++-v3/testsuite/tr1/8_c_compatibility/cinttypes/types.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/types_std_tr1.cc [moved from libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/types.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc [moved from libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdint/types.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc [moved from libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/types.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/headers.cc

index f181c42..df36e44 100644 (file)
@@ -1,3 +1,224 @@
+2007-03-04  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * acinclude.m4 (GLIBCXX_ENABLE_CHEADERS): Add c_global.
+       * configure.host (c_model): Set default to c_global.
+       * configure: Regenerate.
+       * include/Makefile.am (c_compatibility_headers_extra): Make
+       conditional on GLIBCXX_C_HEADERS_COMPATIBILITY.
+       (c_base_headers_extra): Make conditional on GLIBCXX_C_HEADERS_EXTRA.
+       (c_compatibility_headers): Make conditional on c/c_std/c_global.
+       * include/Makefile.in: Regenerate.
+       * docs/html/configopts.html: Add c_global information to
+       --enable-cheaders. Eventually, "c_std" should mean "C" includes
+       that are in namespace std, with optional C++ "C" compatibility
+       includes to inject into global scope. And "c_global" should mean
+       "C" includes that are in the global namespace, with C++ includes
+       injecting into namespace std and no C++ "C" compatibility
+       includes.
+2007-03-04  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * include/bits/c++config: Add _GLIBCXX_NAMEPACE_C.
+       Add _GLIBCXX_NAMESPACE_ASSOCIATION_CXX200x.
+       Add _GLIBCXX_TR1 as namespace macro.
+       Add namespace associations for std::__cxx200x conditionally.
+
+       * include/c_compatibility/assert.h: Correct doxygen markup,
+       conditionalize the global injections on _GLIBCXX_NAMESPACE_C.
+       * include/c_compatibility/ctype.h: Same.
+       * include/c_compatibility/errno.h: Same.
+       * include/c_compatibility/float.h: Same.
+       * include/c_compatibility/iso646.h: Same.
+       * include/c_compatibility/limits.h: Same.
+       * include/c_compatibility/locale.h: Same.
+       * include/c_compatibility/math.h: Same.
+       * include/c_compatibility/setjmp.h: Same.
+       * include/c_compatibility/signal.h: Same.
+       * include/c_compatibility/stdarg.h: Same.
+       * include/c_compatibility/stddef.h: Same.
+       * include/c_compatibility/stdio.h: Same.
+       * include/c_compatibility/stdlib.h: Same.
+       * include/c_compatibility/string.h: Same.
+       * include/c_compatibility/time.h: Same.
+       * include/c_compatibility/wchar.h: Same.
+       * include/c_compatibility/wctype.h: Same.
+
+       * include/c_compatibility/complex.h: Add.
+       * include/c_compatibility/fenv.h: Same.
+       * include/c_compatibility/inttypes.h: Same.
+       * include/c_compatibility/stdbool.h: Same.
+       * include/c_compatibility/stdint.h: Same.
+       * include/c_compatibility/tgmath.h: Same.
+
+       * include/c_global/cassert: Add, use include_next, use C++0x features
+       if -std=c++0x.
+       * include/c_global/cctype: Same.
+       * include/c_global/cerrno: Same.
+       * include/c_global/cfloat: Same.
+       * include/c_global/ciso646: Same.
+       * include/c_global/climits: Same.
+       * include/c_global/clocale: Same.
+       * include/c_global/cmath: Same.
+       * include/c_global/cmath.tcc: Same.
+       * include/c_global/csetjmp: Same.
+       * include/c_global/csignal: Same.
+       * include/c_global/cstdarg: Same.
+       * include/c_global/cstddef: Same.
+       * include/c_global/cstdio: Same.
+       * include/c_global/cstdlib: Same.
+       * include/c_global/cstring: Same.
+       * include/c_global/ctime: Same.
+       * include/c_global/cwchar: Same.
+       * include/c_global/cwctype: Same.
+
+       * include/c_global/ccomplex: Add.
+       * include/c_global/cfenv: Add.
+       * include/c_global/cinttypes: Add. 
+       * include/c_global/cstdbool: Add.
+       * include/c_global/cstdint: Add.
+       * include/c_global/ctgmath: Add.
+
+       * include/std/algorithm: Use C++0x features if -std=c++0x.      
+       * include/std/bitset: Same.
+       * include/std/complex: Same.
+       * include/std/deque: Same.
+       * include/std/fstream: Same.
+       * include/std/functional: Same.
+       * include/std/iomanip: Same.
+       * include/std/ios: Same.
+       * include/std/iosfwd: Same.
+       * include/std/iostream: Same.
+       * include/std/istream: Same.
+       * include/std/iterator: Same.
+       * include/std/limits: Same.
+       * include/std/list: Same.
+       * include/std/locale: Same.
+       * include/std/map: Same.
+       * include/std/memory: Same.
+       * include/std/numeric: Same.
+       * include/std/ostream: Same.
+       * include/std/queue: Same.
+       * include/std/set: Same.
+       * include/std/sstream: Same.
+       * include/std/stack: Same.
+       * include/std/stdexcept: Same.
+       * include/std/streambuf: Same.
+       * include/std/string: Same.
+       * include/std/utility: Same.
+       * include/std/valarray: Same.
+       * include/std/vector: Same.
+
+       * include/std/array: Add.
+       * include/std/random: Add.
+       * include/std/regex: Add.
+       * include/std/tuple: Add.
+       * include/std/type_traits: Add.
+       * include/std/unordered_map: Add.
+       * include/std/unordered_set: Add.
+       * include/std/c++0x_warning.h: Add.
+       
+       * include/tr1/array: Switch namespaces based on _GLIBCXX_TR1.
+       * include/tr1/boost_shared_ptr.h: Same.
+       * include/tr1/cctype: Same.
+       * include/tr1/cfenv: Same.
+       * include/tr1/cinttypes: Same.
+       * include/tr1/cmath: Same.
+       * include/tr1/common.h: Same.
+       * include/tr1/complex: Same.
+       * include/tr1/cstdint: Same.
+       * include/tr1/cstdio: Same.
+       * include/tr1/cstdlib: Same.
+       * include/tr1/cwchar: Same.
+       * include/tr1/cwctype: Same.
+       * include/tr1/functional: Same.
+       * include/tr1/functional_hash.h: Same.
+       * include/tr1/functional_iterate.h: Same.
+       * include/tr1/hashtable: Same.
+       * include/tr1/hashtable_policy.h: Same.
+       * include/tr1/math.h: Same.
+       * include/tr1/memory: Same.
+       * include/tr1/random: Same.
+       * include/tr1/random.tcc: Same.
+       * include/tr1/ref_fwd.h: Same.
+       * include/tr1/repeat.h: Same.
+       * include/tr1/stdlib.h: Same.
+       * include/tr1/tuple: Same.
+       * include/tr1/tuple_iterate.h: Same.
+       * include/tr1/type_traits: Same.
+       * include/tr1/type_traits_fwd.h: Same.
+       * include/tr1/unordered_map: Same.
+       * include/tr1/unordered_set: Same.
+       * include/tr1/utility: Same.
+
+       * include/tr1/ccomplex: Add.
+       * include/tr1/complex.h: Add.
+       * include/tr1/regex: Add.
+
+       * include/Makefile.am: Add C++0x headers, "C" compatibility headers.
+       * include/Makefile.in: Regenerate.
+
+       * testsuite/tr1/headers.cc: Add in regex/complex.
+
+       * testsuite/17_intro/headers/c++200x/all.cc: New.
+       * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Same.
+       * testsuite/17_intro/using_namespace_std_tr1_neg.cc: Same.
+       * testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc: Same.
+       * testsuite/18_support/headers/cstdint/std_c++0x_neg.cc: Same.
+       * testsuite/18_support/headers/cstdint/types_std_c++0x.cc: Same.
+       * testsuite/20_util/enable_shared_from_this/requirements/
+       explicit_instantiation.cc: Same.
+       * testsuite/20_util/headers/functional/types_std_c++0x.cc: Same.
+       * testsuite/20_util/headers/functional/
+       using_namespace_std_placeholders.cc: Same.
+       * testsuite/20_util/headers/memory/types_std_c++0x.cc: Same.
+       * testsuite/20_util/headers/type_traits/std_c++0x_neg.cc: Same.
+       * testsuite/20_util/headers/type_traits/types_std_c++0x.cc: Same.
+       * testsuite/20_util/shared_ptr/requirements/
+       explicit_instantiation.cc: Same.
+       * testsuite/20_util/weak_ptr/requirements/
+       explicit_instantiation.cc: Same.
+       * testsuite/23_containers/array/requirements/
+       explicit_instantiation.cc: Same.
+       * testsuite/23_containers/hash/requirements/
+       explicit_instantiation.cc: Same.
+       * testsuite/23_containers/headers/array/std_c++0x_neg.cc: Same.
+       * testsuite/23_containers/headers/tuple/std_c++0x_neg.cc: Same.
+       * testsuite/23_containers/headers/tuple/types_std_c++0x.cc: Same.
+       * testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc: Same.
+       * testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc: Same.
+       * testsuite/23_containers/tuple/requirements/
+       explicit_instantiation.cc: Same.
+       * testsuite/23_containers/unordered_map/requirements/
+       explicit_instantiation.cc: Same.
+       * testsuite/23_containers/unordered_multimap/requirements/
+       explicit_instantiation.cc: Same.
+       * testsuite/23_containers/unordered_multiset/requirements/
+       explicit_instantiation.cc: Same.
+       * testsuite/23_containers/unordered_set/requirements/
+       explicit_instantiation.cc: Same.
+       * testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc: Same.
+       * testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc: Same.
+       * testsuite/26_numerics/headers/cfenv/types_std_c++0x.cc: Same.
+       * testsuite/26_numerics/headers/cmath/types_std_c++0x.cc: Same.
+       * testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Same.
+       * testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc: Same.
+       * testsuite/26_numerics/headers/random/std_c++0x_neg.cc: Same.
+       * testsuite/26_numerics/headers/random/types_std_c++0x.cc: Same.
+       * testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc: Same.
+       * testsuite/27_io/headers/cinttypes/types_std_c++0x.cc: Same.
+       * testsuite/28_regex/headers/regex/std_c++0x_neg.cc: Same.
+
+       * testsuite/tr1/8_c_compatibility/cfenv/types.cc: Rename ...
+       * testsuite/tr1/8_c_compatibility/cinttypes/types.cc: Same.
+       * testsuite/tr1/8_c_compatibility/cmath/types.cc: Same.
+       * testsuite/tr1/8_c_compatibility/cstdint/types.cc: Same.
+       * testsuite/tr1/8_c_compatibility/cstdlib/types.cc: Same.
+       * testsuite/tr1/8_c_compatibility/cfenv/types_std_tr1.cc: ...to this.
+       * testsuite/tr1/8_c_compatibility/cinttypes/types_std_tr1.cc: Same.
+       * testsuite/tr1/8_c_compatibility/cmath/types_std_tr1.cc: Same.
+       * testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc: Same.
+       * testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc: Same.
+
 2007-03-03  Paolo Carlini  <pcarlini@suse.de>
 
        PR libstdc++/31031
index 7bb337c..ae34b79 100644 (file)
@@ -156,9 +156,13 @@ GLIBCXX_BUILD_PCH_TRUE = @GLIBCXX_BUILD_PCH_TRUE@
 GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE = @GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE@
 GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE = @GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE@
 GLIBCXX_C_HEADERS_C_FALSE = @GLIBCXX_C_HEADERS_C_FALSE@
+GLIBCXX_C_HEADERS_C_GLOBAL_FALSE = @GLIBCXX_C_HEADERS_C_GLOBAL_FALSE@
+GLIBCXX_C_HEADERS_C_GLOBAL_TRUE = @GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@
 GLIBCXX_C_HEADERS_C_STD_FALSE = @GLIBCXX_C_HEADERS_C_STD_FALSE@
 GLIBCXX_C_HEADERS_C_STD_TRUE = @GLIBCXX_C_HEADERS_C_STD_TRUE@
 GLIBCXX_C_HEADERS_C_TRUE = @GLIBCXX_C_HEADERS_C_TRUE@
+GLIBCXX_C_HEADERS_EXTRA_FALSE = @GLIBCXX_C_HEADERS_EXTRA_FALSE@
+GLIBCXX_C_HEADERS_EXTRA_TRUE = @GLIBCXX_C_HEADERS_EXTRA_TRUE@
 GLIBCXX_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@
 GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
 GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
index 1b58eef..f40845d 100644 (file)
@@ -1264,19 +1264,30 @@ dnl
 dnl --enable-cheaders= [does stuff].
 dnl --disable-cheaders [does not do anything, really].
 dnl  +  Usage:  GLIBCXX_ENABLE_CHEADERS[(DEFAULT)]
-dnl       Where DEFAULT is either `c' or `c_std'.
+dnl       Where DEFAULT is either 'c' or 'c_std' or 'c_global'.
 dnl
 AC_DEFUN([GLIBCXX_ENABLE_CHEADERS], [
   GLIBCXX_ENABLE(cheaders,$1,[=KIND],
-    [construct "C" headers for g++], [permit c|c_std])
+    [construct "C" headers for g++], [permit c|c_std|c_global])
   AC_MSG_NOTICE("C" header strategy set to $enable_cheaders)
 
   C_INCLUDE_DIR='${glibcxx_srcdir}/include/'$enable_cheaders
 
+  # Allow overrides to configure.host here.
+  if test $enable_cheaders = c_global; then
+     c_compatibility=yes
+  fi
+
+  if test $enable_cheaders = c_global || test $enable_cheaders = c_std; then
+     c_extra=yes
+  fi
+
   AC_SUBST(C_INCLUDE_DIR)
   GLIBCXX_CONDITIONAL(GLIBCXX_C_HEADERS_C, test $enable_cheaders = c)
   GLIBCXX_CONDITIONAL(GLIBCXX_C_HEADERS_C_STD, test $enable_cheaders = c_std)
+  GLIBCXX_CONDITIONAL(GLIBCXX_C_HEADERS_C_GLOBAL, test $enable_cheaders = c_global)
   GLIBCXX_CONDITIONAL(GLIBCXX_C_HEADERS_COMPATIBILITY, test $c_compatibility = yes)
+  GLIBCXX_CONDITIONAL(GLIBCXX_C_HEADERS_EXTRA, test $c_extra = yes)
 ])
 
 
index 2563258..d60c747 100755 (executable)
@@ -309,7 +309,7 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libtool_VERSION multi_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar glibcxx_builddir glibcxx_srcdir toplevel_srcdir CC ac_ct_CC EXEEXT OBJEXT CXX ac_ct_CXX CFLAGS CXXFLAGS LN_S AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CPP CPPFLAGS EGREP LIBTOOL CXXCPP enable_shared enable_static GLIBCXX_HOSTED_TRUE GLIBCXX_HOSTED_FALSE GLIBCXX_BUILD_PCH_TRUE GLIBCXX_BUILD_PCH_FALSE glibcxx_PCHFLAGS CSTDIO_H BASIC_FILE_H BASIC_FILE_CC check_msgfmt glibcxx_MOFILES glibcxx_POFILES glibcxx_localedir USE_NLS CLOCALE_H CMESSAGES_H CCODECVT_CC CCOLLATE_CC CCTYPE_CC CMESSAGES_CC CMONEY_CC CNUMERIC_CC CTIME_H CTIME_CC CLOCALE_CC CLOCALE_INTERNAL_H ALLOCATOR_H ALLOCATOR_NAME C_INCLUDE_DIR GLIBCXX_C_HEADERS_C_TRUE GLIBCXX_C_HEADERS_C_FALSE GLIBCXX_C_HEADERS_C_STD_TRUE GLIBCXX_C_HEADERS_C_STD_FALSE GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE DEBUG_FLAGS GLIBCXX_BUILD_DEBUG_TRUE GLIBCXX_BUILD_DEBUG_FALSE EXTRA_CXX_FLAGS glibcxx_thread_h WERROR SECTION_FLAGS SECTION_LDFLAGS OPT_LDFLAGS LIBMATHOBJS LIBICONV LTLIBICONV SYMVER_FILE port_specific_symbol_files ENABLE_SYMVERS_TRUE ENABLE_SYMVERS_FALSE ENABLE_SYMVERS_GNU_TRUE ENABLE_SYMVERS_GNU_FALSE ENABLE_SYMVERS_GNU_NAMESPACE_TRUE ENABLE_SYMVERS_GNU_NAMESPACE_FALSE ENABLE_SYMVERS_DARWIN_TRUE ENABLE_SYMVERS_DARWIN_FALSE ENABLE_VISIBILITY_TRUE ENABLE_VISIBILITY_FALSE GLIBCXX_LDBL_COMPAT_TRUE GLIBCXX_LDBL_COMPAT_FALSE baseline_dir ATOMICITY_SRCDIR ATOMIC_WORD_SRCDIR CPU_DEFINES_SRCDIR ABI_TWEAKS_SRCDIR OS_INC_SRCDIR glibcxx_prefixdir gxx_include_dir glibcxx_toolexecdir glibcxx_toolexeclibdir GLIBCXX_INCLUDES TOPLEVEL_INCLUDES OPTIMIZE_CXXFLAGS WARN_FLAGS LIBSUPCXX_PICFLAGS LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libtool_VERSION multi_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar glibcxx_builddir glibcxx_srcdir toplevel_srcdir CC ac_ct_CC EXEEXT OBJEXT CXX ac_ct_CXX CFLAGS CXXFLAGS LN_S AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CPP CPPFLAGS EGREP LIBTOOL CXXCPP enable_shared enable_static GLIBCXX_HOSTED_TRUE GLIBCXX_HOSTED_FALSE GLIBCXX_BUILD_PCH_TRUE GLIBCXX_BUILD_PCH_FALSE glibcxx_PCHFLAGS CSTDIO_H BASIC_FILE_H BASIC_FILE_CC check_msgfmt glibcxx_MOFILES glibcxx_POFILES glibcxx_localedir USE_NLS CLOCALE_H CMESSAGES_H CCODECVT_CC CCOLLATE_CC CCTYPE_CC CMESSAGES_CC CMONEY_CC CNUMERIC_CC CTIME_H CTIME_CC CLOCALE_CC CLOCALE_INTERNAL_H ALLOCATOR_H ALLOCATOR_NAME C_INCLUDE_DIR GLIBCXX_C_HEADERS_C_TRUE GLIBCXX_C_HEADERS_C_FALSE GLIBCXX_C_HEADERS_C_STD_TRUE GLIBCXX_C_HEADERS_C_STD_FALSE GLIBCXX_C_HEADERS_C_GLOBAL_TRUE GLIBCXX_C_HEADERS_C_GLOBAL_FALSE GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE GLIBCXX_C_HEADERS_EXTRA_TRUE GLIBCXX_C_HEADERS_EXTRA_FALSE DEBUG_FLAGS GLIBCXX_BUILD_DEBUG_TRUE GLIBCXX_BUILD_DEBUG_FALSE EXTRA_CXX_FLAGS glibcxx_thread_h WERROR SECTION_FLAGS SECTION_LDFLAGS OPT_LDFLAGS LIBMATHOBJS LIBICONV LTLIBICONV SYMVER_FILE port_specific_symbol_files ENABLE_SYMVERS_TRUE ENABLE_SYMVERS_FALSE ENABLE_SYMVERS_GNU_TRUE ENABLE_SYMVERS_GNU_FALSE ENABLE_SYMVERS_GNU_NAMESPACE_TRUE ENABLE_SYMVERS_GNU_NAMESPACE_FALSE ENABLE_SYMVERS_DARWIN_TRUE ENABLE_SYMVERS_DARWIN_FALSE ENABLE_VISIBILITY_TRUE ENABLE_VISIBILITY_FALSE GLIBCXX_LDBL_COMPAT_TRUE GLIBCXX_LDBL_COMPAT_FALSE baseline_dir ATOMICITY_SRCDIR ATOMIC_WORD_SRCDIR CPU_DEFINES_SRCDIR ABI_TWEAKS_SRCDIR OS_INC_SRCDIR glibcxx_prefixdir gxx_include_dir glibcxx_toolexecdir glibcxx_toolexeclibdir GLIBCXX_INCLUDES TOPLEVEL_INCLUDES OPTIMIZE_CXXFLAGS WARN_FLAGS LIBSUPCXX_PICFLAGS LIBOBJS LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -6432,7 +6432,7 @@ if test "${enable_cheaders+set}" = set; then
   enableval="$enable_cheaders"
 
       case "$enableval" in
-       c|c_std) ;;
+       c|c_std|c_global) ;;
        *) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable cheaders" >&5
 echo "$as_me: error: Unknown argument to enable/disable cheaders" >&2;}
    { (exit 1); exit 1; }; } ;;
@@ -6447,6 +6447,17 @@ echo "$as_me: \"C\" header strategy set to $enable_cheaders" >&6;}
 
   C_INCLUDE_DIR='${glibcxx_srcdir}/include/'$enable_cheaders
 
+  # Allow overrides to configure.host here.
+  if test $enable_cheaders = c_global; then
+     c_compatibility=yes
+  fi
+
+  if test $enable_cheaders = c_global || test $enable_cheaders = c_std; then
+     c_extra=yes
+  fi
+
+
+
 
 
 
@@ -8018,7 +8029,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
   # Fake what AC_TRY_COMPILE does.  XXX Look at redoing this new-style.
     cat > conftest.$ac_ext << EOF
-#line 8021 "configure"
+#line 8032 "configure"
 int main()
 {
   // NB: _Atomic_word not necessarily int.
 
 
 
+if test $enable_cheaders = c_global; then
+  GLIBCXX_C_HEADERS_C_GLOBAL_TRUE=
+  GLIBCXX_C_HEADERS_C_GLOBAL_FALSE='#'
+else
+  GLIBCXX_C_HEADERS_C_GLOBAL_TRUE='#'
+  GLIBCXX_C_HEADERS_C_GLOBAL_FALSE=
+fi
+
+
+
+
 if test $c_compatibility = yes; then
   GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE=
   GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE='#'
 
 
 
+if test $c_extra = yes; then
+  GLIBCXX_C_HEADERS_EXTRA_TRUE=
+  GLIBCXX_C_HEADERS_EXTRA_FALSE='#'
+else
+  GLIBCXX_C_HEADERS_EXTRA_TRUE='#'
+  GLIBCXX_C_HEADERS_EXTRA_FALSE=
+fi
+
+
+
+
 if test $enable_libstdcxx_debug = yes; then
   GLIBCXX_BUILD_DEBUG_TRUE=
   GLIBCXX_BUILD_DEBUG_FALSE='#'
@@ -85025,6 +85058,13 @@ echo "$as_me: error: conditional \"GLIBCXX_C_HEADERS_C_STD\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${GLIBCXX_C_HEADERS_C_GLOBAL_TRUE}" && test -z "${GLIBCXX_C_HEADERS_C_GLOBAL_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"GLIBCXX_C_HEADERS_C_GLOBAL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"GLIBCXX_C_HEADERS_C_GLOBAL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE}" && test -z "${GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"GLIBCXX_C_HEADERS_COMPATIBILITY\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -85032,6 +85072,13 @@ echo "$as_me: error: conditional \"GLIBCXX_C_HEADERS_COMPATIBILITY\" was never d
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${GLIBCXX_C_HEADERS_EXTRA_TRUE}" && test -z "${GLIBCXX_C_HEADERS_EXTRA_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"GLIBCXX_C_HEADERS_EXTRA\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"GLIBCXX_C_HEADERS_EXTRA\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${GLIBCXX_BUILD_DEBUG_TRUE}" && test -z "${GLIBCXX_BUILD_DEBUG_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"GLIBCXX_BUILD_DEBUG\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -85732,8 +85779,12 @@ s,@GLIBCXX_C_HEADERS_C_TRUE@,$GLIBCXX_C_HEADERS_C_TRUE,;t t
 s,@GLIBCXX_C_HEADERS_C_FALSE@,$GLIBCXX_C_HEADERS_C_FALSE,;t t
 s,@GLIBCXX_C_HEADERS_C_STD_TRUE@,$GLIBCXX_C_HEADERS_C_STD_TRUE,;t t
 s,@GLIBCXX_C_HEADERS_C_STD_FALSE@,$GLIBCXX_C_HEADERS_C_STD_FALSE,;t t
+s,@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@,$GLIBCXX_C_HEADERS_C_GLOBAL_TRUE,;t t
+s,@GLIBCXX_C_HEADERS_C_GLOBAL_FALSE@,$GLIBCXX_C_HEADERS_C_GLOBAL_FALSE,;t t
 s,@GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE@,$GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE,;t t
 s,@GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE@,$GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE,;t t
+s,@GLIBCXX_C_HEADERS_EXTRA_TRUE@,$GLIBCXX_C_HEADERS_EXTRA_TRUE,;t t
+s,@GLIBCXX_C_HEADERS_EXTRA_FALSE@,$GLIBCXX_C_HEADERS_EXTRA_FALSE,;t t
 s,@DEBUG_FLAGS@,$DEBUG_FLAGS,;t t
 s,@GLIBCXX_BUILD_DEBUG_TRUE@,$GLIBCXX_BUILD_DEBUG_TRUE,;t t
 s,@GLIBCXX_BUILD_DEBUG_FALSE@,$GLIBCXX_BUILD_DEBUG_FALSE,;t t
index ef4d1de..4a0b4db 100644 (file)
@@ -64,7 +64,7 @@
 # Try to guess a default cpu_include_dir based on the name of the CPU.  We
 # cannot do this for os_include_dir; there are too many portable operating
 # systems out there.  :-)
-c_model=c_std
+c_model=c_global
 c_compatibility=no
 atomic_word_dir=cpu/generic
 atomicity_dir="cpu/generic"
index 0a819f0..215a1ab 100644 (file)
@@ -143,9 +143,11 @@ options</a></h1>
  </dd>
 
  <dt><code>--enable-cheaders=OPTION  </code></dt>
- <dd><p>This allows the user to define what kind of C headers are
-        used.  Options are c and c_std.  These correspond to the source
-       directory's include/c and include/c_std.  The default is c_std.
+ <dd><p>This allows the user to define the approach taken for C header
+        compatibility with C++. Options are c, c_std, and c_global.
+        These correspond to the source directory's include/c,
+        include/c_std, and include/c_global, and may also include
+        include/c_compatibility.  The default is c_global.
      </p>
  </dd>
 
index 43c9f8c..0d24903 100644 (file)
@@ -29,7 +29,9 @@ std_srcdir = ${glibcxx_srcdir}/include/std
 std_builddir = .
 std_headers = \
        ${std_srcdir}/algorithm \
+       ${std_srcdir}/array \
        ${std_srcdir}/bitset \
+       ${std_srcdir}/c++0x_warning.h \
        ${std_srcdir}/complex \
        ${std_srcdir}/deque \
        ${std_srcdir}/fstream \
@@ -48,12 +50,18 @@ std_headers = \
        ${std_srcdir}/numeric \
        ${std_srcdir}/ostream \
        ${std_srcdir}/queue \
+       ${std_srcdir}/random \
+       ${std_srcdir}/regex \
        ${std_srcdir}/set \
        ${std_srcdir}/sstream \
        ${std_srcdir}/stack \
        ${std_srcdir}/stdexcept \
        ${std_srcdir}/streambuf \
        ${std_srcdir}/string \
+       ${std_srcdir}/tuple \
+       ${std_srcdir}/type_traits \
+       ${std_srcdir}/unordered_map \
+       ${std_srcdir}/unordered_set \
        ${std_srcdir}/utility \
        ${std_srcdir}/valarray \
        ${std_srcdir}/vector
@@ -164,7 +172,6 @@ backward_headers = \
        ${backward_srcdir}/strstream \
        ${backward_srcdir}/backward_warning.h
 
-
 pb_srcdir = ${glibcxx_srcdir}/include/ext/pb_ds
 pb_builddir = ./ext/pb_ds
 
@@ -528,6 +535,7 @@ tr1_headers = \
        ${tr1_srcdir}/bind_repeat.h \
        ${tr1_srcdir}/bind_iterate.h \
        ${tr1_srcdir}/boost_shared_ptr.h \
+       ${tr1_srcdir}/ccomplex \
        ${tr1_srcdir}/cctype \
        ${tr1_srcdir}/cfenv \
        ${tr1_srcdir}/cfloat \
@@ -536,6 +544,7 @@ tr1_headers = \
        ${tr1_srcdir}/cmath \
        ${tr1_srcdir}/common.h \
        ${tr1_srcdir}/complex \
+       ${tr1_srcdir}/complex.h \
        ${tr1_srcdir}/cstdarg \
        ${tr1_srcdir}/cstdbool \
        ${tr1_srcdir}/cstdint \
@@ -562,6 +571,7 @@ tr1_headers = \
        ${tr1_srcdir}/random.tcc \
        ${tr1_srcdir}/ref_fwd.h \
        ${tr1_srcdir}/ref_wrap_iterate.h \
+       ${tr1_srcdir}/regex \
        ${tr1_srcdir}/repeat.h \
        ${tr1_srcdir}/stdarg.h \
        ${tr1_srcdir}/stdbool.h \
@@ -581,14 +591,17 @@ tr1_headers = \
        ${tr1_srcdir}/wctype.h
 
 
-# This is the common subset of files that all three "C" header models use.
+# This is the common subset of C++ files that all three "C" header models use.
 c_base_srcdir = $(C_INCLUDE_DIR)
 c_base_builddir = .
 c_base_headers = \
        ${c_base_srcdir}/cassert \
+       ${c_base_srcdir}/ccomplex \
        ${c_base_srcdir}/cctype \
        ${c_base_srcdir}/cerrno \
+       ${c_base_srcdir}/cfenv \
        ${c_base_srcdir}/cfloat \
+       ${c_base_srcdir}/cinttypes \
        ${c_base_srcdir}/ciso646 \
        ${c_base_srcdir}/climits \
        ${c_base_srcdir}/clocale \
@@ -596,10 +609,13 @@ c_base_headers = \
        ${c_base_srcdir}/csetjmp \
        ${c_base_srcdir}/csignal \
        ${c_base_srcdir}/cstdarg \
+       ${c_base_srcdir}/cstdbool \
        ${c_base_srcdir}/cstddef \
+       ${c_base_srcdir}/cstdint \
        ${c_base_srcdir}/cstdio \
        ${c_base_srcdir}/cstdlib \
        ${c_base_srcdir}/cstring \
+       ${c_base_srcdir}/ctgmath \
        ${c_base_srcdir}/ctime \
        ${c_base_srcdir}/cwchar \
        ${c_base_srcdir}/cwctype
@@ -607,11 +623,26 @@ c_base_headers = \
 # "C" compatibility headers.
 c_compatibility_srcdir = ${glibcxx_srcdir}/include/c_compatibility
 c_compatibility_builddir = .
+
+if GLIBCXX_C_HEADERS_C_STD
+c_compatibility_headers = 
+endif
+
+if GLIBCXX_C_HEADERS_C_GLOBAL
+c_compatibility_headers = \
+       ${c_compatibility_srcdir}/complex.h \
+       ${c_compatibility_srcdir}/tgmath.h 
+endif
+
+if GLIBCXX_C_HEADERS_C
 c_compatibility_headers = \
        ${c_compatibility_srcdir}/assert.h \
+       ${c_compatibility_srcdir}/complex.h \
        ${c_compatibility_srcdir}/ctype.h \
        ${c_compatibility_srcdir}/errno.h \
+       ${c_compatibility_srcdir}/fenv.h \
        ${c_compatibility_srcdir}/float.h \
+       ${c_compatibility_srcdir}/inttypes.h \
        ${c_compatibility_srcdir}/iso646.h \
        ${c_compatibility_srcdir}/limits.h \
        ${c_compatibility_srcdir}/locale.h \
@@ -619,13 +650,17 @@ c_compatibility_headers = \
        ${c_compatibility_srcdir}/setjmp.h \
        ${c_compatibility_srcdir}/signal.h \
        ${c_compatibility_srcdir}/stdarg.h \
+       ${c_compatibility_srcdir}/stdbool.h \
        ${c_compatibility_srcdir}/stddef.h \
+       ${c_compatibility_srcdir}/stdint.h \
        ${c_compatibility_srcdir}/stdio.h \
        ${c_compatibility_srcdir}/stdlib.h \
        ${c_compatibility_srcdir}/string.h \
+       ${c_compatibility_srcdir}/tgmath.h \
        ${c_compatibility_srcdir}/time.h \
        ${c_compatibility_srcdir}/wchar.h \
        ${c_compatibility_srcdir}/wctype.h
+endif
 
 # Debug mode headers
 debug_srcdir = ${glibcxx_srcdir}/include/debug
@@ -660,7 +695,7 @@ debug_headers = \
 # Some of the different "C" header models need extra files.
 # Some "C" header schemes require the "C" compatibility headers.
 # For --enable-cheaders=c_std
-if GLIBCXX_C_HEADERS_C_STD
+if GLIBCXX_C_HEADERS_EXTRA
 c_base_headers_extra = ${c_base_srcdir}/cmath.tcc
 else
 c_base_headers_extra =
@@ -962,7 +997,7 @@ ${host_builddir}/c++config.h: ${CONFIG_HEADER} \
            -e '/[      ]_GLIBCXX_LONG_DOUBLE_COMPAT[   ]/d' \
            < ${CONFIG_HEADER} >> $@ ;\
        echo "" >> $@ ;\
-       echo "#endif // _CXXCONFIG_" >> $@
+       echo "#endif // _GLIBCXX_CXX_CONFIG_H" >> $@
 
 # Host includes for threads
 uppercase = [ABCDEFGHIJKLMNOPQRSTUVWXYZ_]
index 17e949b..fb3ca7d 100644 (file)
@@ -124,9 +124,13 @@ GLIBCXX_BUILD_PCH_TRUE = @GLIBCXX_BUILD_PCH_TRUE@
 GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE = @GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE@
 GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE = @GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE@
 GLIBCXX_C_HEADERS_C_FALSE = @GLIBCXX_C_HEADERS_C_FALSE@
+GLIBCXX_C_HEADERS_C_GLOBAL_FALSE = @GLIBCXX_C_HEADERS_C_GLOBAL_FALSE@
+GLIBCXX_C_HEADERS_C_GLOBAL_TRUE = @GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@
 GLIBCXX_C_HEADERS_C_STD_FALSE = @GLIBCXX_C_HEADERS_C_STD_FALSE@
 GLIBCXX_C_HEADERS_C_STD_TRUE = @GLIBCXX_C_HEADERS_C_STD_TRUE@
 GLIBCXX_C_HEADERS_C_TRUE = @GLIBCXX_C_HEADERS_C_TRUE@
+GLIBCXX_C_HEADERS_EXTRA_FALSE = @GLIBCXX_C_HEADERS_EXTRA_FALSE@
+GLIBCXX_C_HEADERS_EXTRA_TRUE = @GLIBCXX_C_HEADERS_EXTRA_TRUE@
 GLIBCXX_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@
 GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
 GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
@@ -259,7 +263,9 @@ std_srcdir = ${glibcxx_srcdir}/include/std
 std_builddir = .
 std_headers = \
        ${std_srcdir}/algorithm \
+       ${std_srcdir}/array \
        ${std_srcdir}/bitset \
+       ${std_srcdir}/c++0x_warning.h \
        ${std_srcdir}/complex \
        ${std_srcdir}/deque \
        ${std_srcdir}/fstream \
@@ -278,12 +284,18 @@ std_headers = \
        ${std_srcdir}/numeric \
        ${std_srcdir}/ostream \
        ${std_srcdir}/queue \
+       ${std_srcdir}/random \
+       ${std_srcdir}/regex \
        ${std_srcdir}/set \
        ${std_srcdir}/sstream \
        ${std_srcdir}/stack \
        ${std_srcdir}/stdexcept \
        ${std_srcdir}/streambuf \
        ${std_srcdir}/string \
+       ${std_srcdir}/tuple \
+       ${std_srcdir}/type_traits \
+       ${std_srcdir}/unordered_map \
+       ${std_srcdir}/unordered_set \
        ${std_srcdir}/utility \
        ${std_srcdir}/valarray \
        ${std_srcdir}/vector
@@ -753,6 +765,7 @@ tr1_headers = \
        ${tr1_srcdir}/bind_repeat.h \
        ${tr1_srcdir}/bind_iterate.h \
        ${tr1_srcdir}/boost_shared_ptr.h \
+       ${tr1_srcdir}/ccomplex \
        ${tr1_srcdir}/cctype \
        ${tr1_srcdir}/cfenv \
        ${tr1_srcdir}/cfloat \
@@ -761,6 +774,7 @@ tr1_headers = \
        ${tr1_srcdir}/cmath \
        ${tr1_srcdir}/common.h \
        ${tr1_srcdir}/complex \
+       ${tr1_srcdir}/complex.h \
        ${tr1_srcdir}/cstdarg \
        ${tr1_srcdir}/cstdbool \
        ${tr1_srcdir}/cstdint \
@@ -787,6 +801,7 @@ tr1_headers = \
        ${tr1_srcdir}/random.tcc \
        ${tr1_srcdir}/ref_fwd.h \
        ${tr1_srcdir}/ref_wrap_iterate.h \
+       ${tr1_srcdir}/regex \
        ${tr1_srcdir}/repeat.h \
        ${tr1_srcdir}/stdarg.h \
        ${tr1_srcdir}/stdbool.h \
@@ -806,14 +821,17 @@ tr1_headers = \
        ${tr1_srcdir}/wctype.h
 
 
-# This is the common subset of files that all three "C" header models use.
+# This is the common subset of C++ files that all three "C" header models use.
 c_base_srcdir = $(C_INCLUDE_DIR)
 c_base_builddir = .
 c_base_headers = \
        ${c_base_srcdir}/cassert \
+       ${c_base_srcdir}/ccomplex \
        ${c_base_srcdir}/cctype \
        ${c_base_srcdir}/cerrno \
+       ${c_base_srcdir}/cfenv \
        ${c_base_srcdir}/cfloat \
+       ${c_base_srcdir}/cinttypes \
        ${c_base_srcdir}/ciso646 \
        ${c_base_srcdir}/climits \
        ${c_base_srcdir}/clocale \
@@ -821,10 +839,13 @@ c_base_headers = \
        ${c_base_srcdir}/csetjmp \
        ${c_base_srcdir}/csignal \
        ${c_base_srcdir}/cstdarg \
+       ${c_base_srcdir}/cstdbool \
        ${c_base_srcdir}/cstddef \
+       ${c_base_srcdir}/cstdint \
        ${c_base_srcdir}/cstdio \
        ${c_base_srcdir}/cstdlib \
        ${c_base_srcdir}/cstring \
+       ${c_base_srcdir}/ctgmath \
        ${c_base_srcdir}/ctime \
        ${c_base_srcdir}/cwchar \
        ${c_base_srcdir}/cwctype
@@ -833,25 +854,36 @@ c_base_headers = \
 # "C" compatibility headers.
 c_compatibility_srcdir = ${glibcxx_srcdir}/include/c_compatibility
 c_compatibility_builddir = .
-c_compatibility_headers = \
-       ${c_compatibility_srcdir}/assert.h \
-       ${c_compatibility_srcdir}/ctype.h \
-       ${c_compatibility_srcdir}/errno.h \
-       ${c_compatibility_srcdir}/float.h \
-       ${c_compatibility_srcdir}/iso646.h \
-       ${c_compatibility_srcdir}/limits.h \
-       ${c_compatibility_srcdir}/locale.h \
-       ${c_compatibility_srcdir}/math.h \
-       ${c_compatibility_srcdir}/setjmp.h \
-       ${c_compatibility_srcdir}/signal.h \
-       ${c_compatibility_srcdir}/stdarg.h \
-       ${c_compatibility_srcdir}/stddef.h \
-       ${c_compatibility_srcdir}/stdio.h \
-       ${c_compatibility_srcdir}/stdlib.h \
-       ${c_compatibility_srcdir}/string.h \
-       ${c_compatibility_srcdir}/time.h \
-       ${c_compatibility_srcdir}/wchar.h \
-       ${c_compatibility_srcdir}/wctype.h
+@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@c_compatibility_headers = \
+@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@      ${c_compatibility_srcdir}/complex.h \
+@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@      ${c_compatibility_srcdir}/tgmath.h 
+
+@GLIBCXX_C_HEADERS_C_STD_TRUE@c_compatibility_headers = 
+@GLIBCXX_C_HEADERS_C_TRUE@c_compatibility_headers = \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/assert.h \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/complex.h \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/ctype.h \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/errno.h \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/fenv.h \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/float.h \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/inttypes.h \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/iso646.h \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/limits.h \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/locale.h \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/math.h \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/setjmp.h \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/signal.h \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/stdarg.h \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/stdbool.h \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/stddef.h \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/stdint.h \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/stdio.h \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/stdlib.h \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/string.h \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/tgmath.h \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/time.h \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/wchar.h \
+@GLIBCXX_C_HEADERS_C_TRUE@     ${c_compatibility_srcdir}/wctype.h
 
 
 # Debug mode headers
@@ -884,12 +916,12 @@ debug_headers = \
        ${debug_srcdir}/string \
        ${debug_srcdir}/vector
 
-@GLIBCXX_C_HEADERS_C_STD_FALSE@c_base_headers_extra = 
+@GLIBCXX_C_HEADERS_EXTRA_FALSE@c_base_headers_extra = 
 
 # Some of the different "C" header models need extra files.
 # Some "C" header schemes require the "C" compatibility headers.
 # For --enable-cheaders=c_std
-@GLIBCXX_C_HEADERS_C_STD_TRUE@c_base_headers_extra = ${c_base_srcdir}/cmath.tcc
+@GLIBCXX_C_HEADERS_EXTRA_TRUE@c_base_headers_extra = ${c_base_srcdir}/cmath.tcc
 @GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE@c_compatibility_headers_extra = 
 @GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE@c_compatibility_headers_extra = ${c_compatibility_headers}
 host_srcdir = ${glibcxx_srcdir}/$(OS_INC_SRCDIR)
@@ -1342,7 +1374,7 @@ ${host_builddir}/c++config.h: ${CONFIG_HEADER} \
            -e '/[      ]_GLIBCXX_LONG_DOUBLE_COMPAT[   ]/d' \
            < ${CONFIG_HEADER} >> $@ ;\
        echo "" >> $@ ;\
-       echo "#endif // _CXXCONFIG_" >> $@
+       echo "#endif // _GLIBCXX_CXX_CONFIG_H" >> $@
 
 ${host_builddir}/gthr.h: ${toplevel_srcdir}/gcc/gthr.h stamp-${host_alias}
        sed -e '/^#pragma/b' \
index 8e6084e..b11d27a 100644 (file)
 // The current version of the C++ library in compressed ISO date format.
 #define __GLIBCXX__ 
 
+// Macro used to indicate that the native "C" includes, when compiled
+// as "C++", have declarations in namespace std and not the global
+// namespace. Note, this is unrelated to possible "C" compatibility
+// includes that inject C90/C99 names into the global namespace.
+// XXX May not be necessary
+#if __cplusplus == 199711L
+# define _GLIBCXX_NAMESPACE_C 1
+#endif
+
 // Macros for visibility.
 #define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY
 
 #if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY
-#define _GLIBCXX_VISIBILITY(V) __attribute__ ((__visibility__ (#V)))
+# define _GLIBCXX_VISIBILITY(V) __attribute__ ((__visibility__ (#V)))
 #else
-#define _GLIBCXX_VISIBILITY(V) 
+# define _GLIBCXX_VISIBILITY(V) 
 #endif
 
 // Macros for controlling various namespace association schemes and modes.
+// _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG
+// _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION 
+// _GLIBCXX_NAMESPACE_ASSOCIATION_CXX200x
 #ifdef _GLIBCXX_DEBUG
 # define _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG 1
 #endif
 
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# define _GLIBCXX_NAMESPACE_ASSOCIATION_CXX0X 1
+#endif
+
 #define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION 
 
 // Macros for namespace scope.
@@ -91,7 +107,6 @@ namespace std
   using namespace _6 __attribute__ ((strong));
 }
 
-// In addition, other supported namespace configurations.
 namespace __gnu_cxx 
 { 
   namespace _6 { }
@@ -140,7 +155,19 @@ namespace __gnu_cxx
 #endif
 #endif
 
-/* Define if compatibility should be provided for -mlong-double-64. */
+// Namespace associations for C++0x, TR1 in std.
+#if _GLIBCXX_NAMESPACE_ASSOCIATION_CXX0X
+namespace std
+{ 
+  namespace __cxx200x { }
+  using namespace __cxx200x __attribute__ ((strong)); 
+}
+# define _GLIBCXX_TR1 __cxx200x
+#else
+# define _GLIBCXX_TR1 tr1
+#endif
+
+// Define if compatibility should be provided for -mlong-double-64.
 #undef _GLIBCXX_LONG_DOUBLE_COMPAT
 
 // XXX GLIBCXX_ABI Deprecated
index fc14c0f..7a02415 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- compatibility header.
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2007 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
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
@@ -27,4 +27,8 @@
 // invalidate any other reasons why the executable file might be covered by
 // the GNU General Public License.
 
+/** @file assert.h
+ *  This is a Standard C++ Library header.
+ */
+
 #include <cassert>
diff --git a/libstdc++-v3/include/c_compatibility/complex.h b/libstdc++-v3/include/c_compatibility/complex.h
new file mode 100644 (file)
index 0000000..88acb1e
--- /dev/null
@@ -0,0 +1,39 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 2007 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file complex.h
+ *  This is a Standard C++ Library header.
+ */
+
+#include <ccomplex>
+
+#ifndef _GLIBCXX_COMPLEX_H
+#define _GLIBCXX_COMPLEX_H 1
+
+#endif
index 1bd379d..696621b 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- compatibility header.
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2007 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
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
 // invalidate any other reasons why the executable file might be covered by
 // the GNU General Public License.
 
-#ifndef _GLIBCXX_CTYPE_H
-#define _GLIBCXX_CTYPE_H 1
+/** @file ctype.h
+ *  This is a Standard C++ Library header.
+ */
 
 #include <cctype>
 
+#ifndef _GLIBCXX_CTYPE_H
+#define _GLIBCXX_CTYPE_H 1
+
+#ifdef _GLIBCXX_NAMESPACE_C
 using std::isalnum;
 using std::isalpha;
 using std::iscntrl;
@@ -45,5 +50,6 @@ using std::isupper;
 using std::isxdigit;
 using std::tolower;
 using std::toupper;
+#endif
 
 #endif
index d7cc829..6d48a3f 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- compatibility header.
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2007 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
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
 // invalidate any other reasons why the executable file might be covered by
 // the GNU General Public License.
 
-#ifndef _GLIBCXX_ERRNO_H
-#define _GLIBCXX_ERRNO_H 1
+/** @file errno.h
+ *  This is a Standard C++ Library header.
+ */
 
 #include <cerrno>
 
+#ifndef _GLIBCXX_ERRNO_H
+#define _GLIBCXX_ERRNO_H 1
+
 #endif
diff --git a/libstdc++-v3/include/c_compatibility/fenv.h b/libstdc++-v3/include/c_compatibility/fenv.h
new file mode 100644 (file)
index 0000000..c3eb4b4
--- /dev/null
@@ -0,0 +1,39 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 2007 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file fenv.h
+ *  This is a Standard C++ Library header.
+ */
+
+#include <cfenv>
+
+#ifndef _GLIBCXX_FENV_H
+#define _GLIBCXX_FENV_H 1
+
+#endif
index adeb73f..f2ec19a 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- compatibility header.
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2007 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
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
 // invalidate any other reasons why the executable file might be covered by
 // the GNU General Public License.
 
-#ifndef _GLIBCXX_FLOAT_H
-#define _GLIBCXX_FLOAT_H 1
+/** @file float.h
+ *  This is a Standard C++ Library header.
+ */
 
 #include <cfloat>
 
+#ifndef _GLIBCXX_FLOAT_H
+#define _GLIBCXX_FLOAT_H 1
+
 #endif
diff --git a/libstdc++-v3/include/c_compatibility/inttypes.h b/libstdc++-v3/include/c_compatibility/inttypes.h
new file mode 100644 (file)
index 0000000..d6eebdf
--- /dev/null
@@ -0,0 +1,39 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 2007 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file inttypes.h
+ *  This is a Standard C++ Library header.
+ */
+
+#include <cinttypes>
+
+#ifndef _GLIBCXX_INTTYPES_H
+#define _GLIBCXX_INTTYPES_H 1
+
+#endif
index d5097ca..eb379c2 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- compatibility header.
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2007 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
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
 // invalidate any other reasons why the executable file might be covered by
 // the GNU General Public License.
 
-#ifndef _GLIBCXX_ISO646_H
-#define _GLIBCXX_ISO646_H 1
+/** @file iso646.h
+ *  This is a Standard C++ Library header.
+ */
 
 #include <ciso646>
 
+#ifndef _GLIBCXX_ISO646_H
+#define _GLIBCXX_ISO646_H 1
+
 #endif
index e7abd01..6a20e59 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- compatibility header.
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2007 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
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
 // invalidate any other reasons why the executable file might be covered by
 // the GNU General Public License.
 
-#ifndef _GLIBCXX_LIMITS_H
-#define _GLIBCXX_LIMITS_H 1
+/** @file limits.h
+ *  This is a Standard C++ Library header.
+ */
 
 #include <climits>
 
+#ifndef _GLIBCXX_LIMITS_H
+#define _GLIBCXX_LIMITS_H 1
+
 #endif
index 8baf041..e444460 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- compatibility header.
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2007 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
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
 // invalidate any other reasons why the executable file might be covered by
 // the GNU General Public License.
 
-#ifndef _GLIBCXX_LOCALE_H
-#define _GLIBCXX_LOCALE_H 1
+/** @file locale.h
+ *  This is a Standard C++ Library header.
+ */
 
 #include <clocale>
 
+#ifndef _GLIBCXX_LOCALE_H
+#define _GLIBCXX_LOCALE_H 1
+
+#ifdef _GLIBCXX_NAMESPACE_C
 using std::lconv;
 using std::setlocale;
 using std::localeconv;
+#endif
 
 #endif
index 38636e6..69dc82a 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- compatibility header.
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2007 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
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
 // invalidate any other reasons why the executable file might be covered by
 // the GNU General Public License.
 
-#ifndef _GLIBCXX_MATH_H
-#define _GLIBCXX_MATH_H 1
+/** @file math.h
+ *  This is a Standard C++ Library header.
+ */
 
 #include <cmath>
 
+#ifndef _GLIBCXX_MATH_H
+#define _GLIBCXX_MATH_H 1
+
+#ifdef _GLIBCXX_NAMESPACE_C
 using std::abs;
 using std::acos;
 using std::asin;
@@ -71,4 +76,6 @@ using std::islessgreater;
 using std::isunordered;
 #endif
 
+#endif // __GXX_EXPERIMENTAL_CXX0X__
+
 #endif
index f2d481a..c994132 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- compatibility header.
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2007 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
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
 // invalidate any other reasons why the executable file might be covered by
 // the GNU General Public License.
 
-#ifndef _GLIBCXX_SETJMP_H
-#define _GLIBCXX_SETJMP_H 1
+/** @file setjmp.h
+ *  This is a Standard C++ Library header.
+ */
 
 #include <csetjmp>
 
+#ifndef _GLIBCXX_SETJMP_H
+#define _GLIBCXX_SETJMP_H 1
+
+#ifdef _GLIBCXX_NAMESPACE_C
 using std::jmp_buf;
 using std::longjmp;
+#endif
 
 #endif
index ae1d23d..4e08133 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- compatibility header.
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2007 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
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
 // invalidate any other reasons why the executable file might be covered by
 // the GNU General Public License.
 
-#ifndef _GLIBCXX_SIGNAL_H
-#define _GLIBCXX_SIGNAL_H 1
+/** @file signal.h
+ *  This is a Standard C++ Library header.
+ */
 
 #include <csignal>
 
-using std::sig_atomic_t;
+#ifndef _GLIBCXX_SIGNAL_H
+#define _GLIBCXX_SIGNAL_H 1
 
+#ifdef _GLIBCXX_NAMESPACE_C
+using std::sig_atomic_t;
 using std::raise;
 using std::signal;
+#endif
 
 #endif
index 9b92a93..2a1df49 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- compatibility header.
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2007 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
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
 // invalidate any other reasons why the executable file might be covered by
 // the GNU General Public License.
 
-#ifndef _GLIBCXX_STDARG_H
-#define _GLIBCXX_STDARG_H 1
+/** @file stdarg.h
+ *  This is a Standard C++ Library header.
+ */
 
 #include <cstdarg>
 
+#ifndef _GLIBCXX_STDARG_H
+#define _GLIBCXX_STDARG_H 1
+
+#ifdef _GLIBCXX_NAMESPACE_C
 using std::va_list;
+#endif
 
 #endif
diff --git a/libstdc++-v3/include/c_compatibility/stdbool.h b/libstdc++-v3/include/c_compatibility/stdbool.h
new file mode 100644 (file)
index 0000000..a825d4f
--- /dev/null
@@ -0,0 +1,39 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 2007 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file stdbool.h
+ *  This is a Standard C++ Library header.
+ */
+
+#include <cstdbool>
+
+#ifndef _GLIBCXX_STDBOOL_H
+#define _GLIBCXX_STDBOOL_H 1
+
+#endif
index 457cd00..a6efd40 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- compatibility header.
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2007 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
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
 // invalidate any other reasons why the executable file might be covered by
 // the GNU General Public License.
 
-#ifndef _GLIBCXX_STDDEF_H
-#define _GLIBCXX_STDDEF_H 1
+/** @file stddef.h
+ *  This is a Standard C++ Library header.
+ */
 
 #include <cstddef>
 
+#ifndef _GLIBCXX_STDDEF_H
+#define _GLIBCXX_STDDEF_H 1
+
+#ifdef _GLIBCXX_NAMESPACE_C
 using std::size_t;
 using std::ptrdiff_t;
+#endif
 
 #endif
diff --git a/libstdc++-v3/include/c_compatibility/stdint.h b/libstdc++-v3/include/c_compatibility/stdint.h
new file mode 100644 (file)
index 0000000..359986f
--- /dev/null
@@ -0,0 +1,39 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 2007 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file stdint.h
+ *  This is a Standard C++ Library header.
+ */
+
+#include <cstdint>
+
+#ifndef _GLIBCXX_STDINT_H
+#define _GLIBCXX_STDINT_H 1
+
+#endif
index 270852f..ac64d62 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- compatibility header.
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2007 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
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
 // invalidate any other reasons why the executable file might be covered by
 // the GNU General Public License.
 
-#ifndef _GLIBCXX_STDIO_H
-#define _GLIBCXX_STDIO_H 1
+/** @file stdio.h
+ *  This is a Standard C++ Library header.
+ */
 
 #include <cstdio>
 
+#ifndef _GLIBCXX_STDIO_H
+#define _GLIBCXX_STDIO_H 1
+
+#ifdef _GLIBCXX_NAMESPACE_C
 using std::FILE;
 using std::fpos_t;
 
@@ -81,5 +86,6 @@ using std::clearerr;
 using std::feof;
 using std::ferror;
 using std::perror;
+#endif
 
 #endif
index dbf99b4..f6eb56b 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- compatibility header.
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2007 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
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
 // invalidate any other reasons why the executable file might be covered by
 // the GNU General Public License.
 
-#ifndef _GLIBCXX_STDLIB_H
-#define _GLIBCXX_STDLIB_H 1
+/** @file stdlib.h
+ *  This is a Standard C++ Library header.
+ */
 
 #include <cstdlib>
 
+#ifndef _GLIBCXX_STDLIB_H
+#define _GLIBCXX_STDLIB_H 1
+
+#ifdef _GLIBCXX_NAMESPACE_C
 using std::div_t;
 using std::ldiv_t;
 
@@ -63,5 +68,6 @@ using std::strtoul;
 using std::system;
 using std::wcstombs;
 using std::wctomb;
+#endif
 
 #endif
index 09e59cf..d60b787 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- compatibility header.
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2007 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
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
 // invalidate any other reasons why the executable file might be covered by
 // the GNU General Public License.
 
-#ifndef _GLIBCXX_STRING_H
-#define _GLIBCXX_STRING_H 1
+/** @file string.h
+ *  This is a Standard C++ Library header.
+ */
 
 #include <cstring>
 
+#ifndef _GLIBCXX_STRING_H
+#define _GLIBCXX_STRING_H 1
+
+#ifdef _GLIBCXX_NAMESPACE_C
 using std::memcpy;
 using std::memmove;
 using std::strcpy;
@@ -54,5 +59,6 @@ using std::strtok;
 using std::memset;
 using std::strerror;
 using std::strlen;
+#endif
 
 #endif
diff --git a/libstdc++-v3/include/c_compatibility/tgmath.h b/libstdc++-v3/include/c_compatibility/tgmath.h
new file mode 100644 (file)
index 0000000..b2ce8b5
--- /dev/null
@@ -0,0 +1,39 @@
+// -*- C++ -*- compatibility header.
+
+// Copyright (C) 2007 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file tgmath.h
+ *  This is a Standard C++ Library header.
+ */
+
+#include <ctgmath>
+
+#ifndef _GLIBCXX_TGMATH_H
+#define _GLIBCXX_TGMATH_H 1
+
+#endif
index d5684ad..0c08945 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- compatibility header.
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2007 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
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
 // invalidate any other reasons why the executable file might be covered by
 // the GNU General Public License.
 
-#ifndef _GLIBCXX_TIME_H
-#define _GLIBCXX_TIME_H 1
+/** @file time.h
+ *  This is a Standard C++ Library header.
+ */
 
 #include <ctime>
 
+#ifndef _GLIBCXX_TIME_H
+#define _GLIBCXX_TIME_H 1
+
+#ifdef _GLIBCXX_NAMESPACE_C
 // Get rid of those macros defined in <time.h> in lieu of real functions.
 #undef clock
 #undef difftime
@@ -56,5 +61,6 @@ using std::ctime;
 using std::gmtime;
 using std::localtime;
 using std::strftime;
+#endif
 
 #endif
index 2071ae4..09460d6 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- compatibility header.
 
-// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003, 2007 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
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
 // invalidate any other reasons why the executable file might be covered by
 // the GNU General Public License.
 
-#ifndef _GLIBCXX_WCHAR_H
-#define _GLIBCXX_WCHAR_H 1
+/** @file wchar.h
+ *  This is a Standard C++ Library header.
+ */
 
 #include <cwchar>
 
+#ifndef _GLIBCXX_WCHAR_H
+#define _GLIBCXX_WCHAR_H 1
+
+#ifdef _GLIBCXX_NAMESPACE_C
 using std::mbstate_t;
 
 #if _GLIBCXX_USE_WCHAR_T
@@ -111,4 +116,6 @@ using std::wcstoull;
 
 #endif  //_GLIBCXX_USE_WCHAR_T
 
+#endif 
+
 #endif
index c7ddc90..d50f6ec 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- compatibility header.
 
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2007 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
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
 // invalidate any other reasons why the executable file might be covered by
 // the GNU General Public License.
 
-#ifndef _GLIBCXX_CWCTYPE_H
-#define _GLIBCXX_CWCTYPE_H 1
+/** @file wctype.h
+ *  This is a Standard C++ Library header.
+ */
 
 #include <cwctype>
 
+#ifndef _GLIBCXX_CWCTYPE_H
+#define _GLIBCXX_CWCTYPE_H 1
+
+#ifdef _GLIBCXX_NAMESPACE_C
 using std::wctype_t;
 using std::wctrans_t;
 using std::iswalpha;
@@ -51,5 +56,6 @@ using std::towlower;
 using std::towupper;
 using std::wctrans;
 using std::wctype;
+#endif
 
 #endif
diff --git a/libstdc++-v3/include/c_global/cassert b/libstdc++-v3/include/c_global/cassert
new file mode 100644 (file)
index 0000000..6322b4f
--- /dev/null
@@ -0,0 +1,49 @@
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+// 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// 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.
+
+/** @file cassert
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c assert.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std (except for names which are defined
+ *  as macros in C).
+ */
+
+//
+// ISO C++ 14882: 19.2  Assertions
+//
+
+// No include guards on this header...
+
+#pragma GCC system_header
+
+#include_next <assert.h>
diff --git a/libstdc++-v3/include/c_global/ccomplex b/libstdc++-v3/include/c_global/ccomplex
new file mode 100644 (file)
index 0000000..1d08038
--- /dev/null
@@ -0,0 +1,46 @@
+// <ccomplex> -*- C++ -*-
+
+// Copyright (C) 2007 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// 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.
+
+/** @file include/ccomplex
+ *  This is a Standard C++ Library header.
+ */
+
+#pragma GCC system_header
+
+#ifndef _GLIBCXX_CCOMPLEX
+#define _GLIBCXX_CCOMPLEX 1
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/ccomplex>
+#else
+# include <c++0x_warning.h>
+#endif
+
+#endif 
+
diff --git a/libstdc++-v3/include/c_global/cctype b/libstdc++-v3/include/c_global/cctype
new file mode 100644 (file)
index 0000000..05436e4
--- /dev/null
@@ -0,0 +1,90 @@
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+// 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// 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.
+
+/** @file include/cctype
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c ctype.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std (except for names which are defined
+ *  as macros in C).
+ */
+
+//
+// ISO C++ 14882: <ccytpe>
+//
+
+#pragma GCC system_header
+
+#include <bits/c++config.h>
+#include_next <ctype.h>
+
+#ifndef _GLIBCXX_CCTYPE
+#define _GLIBCXX_CCTYPE 1
+
+// Get rid of those macros defined in <ctype.h> in lieu of real functions.
+#undef isalnum
+#undef isalpha
+#undef iscntrl
+#undef isdigit
+#undef isgraph
+#undef islower
+#undef isprint
+#undef ispunct
+#undef isspace
+#undef isupper
+#undef isxdigit
+#undef tolower
+#undef toupper
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+  using ::isalnum;
+  using ::isalpha;
+  using ::iscntrl;
+  using ::isdigit;
+  using ::isgraph;
+  using ::islower;
+  using ::isprint;
+  using ::ispunct;
+  using ::isspace;
+  using ::isupper;
+  using ::isxdigit;
+  using ::tolower;
+  using ::toupper;
+
+_GLIBCXX_END_NAMESPACE
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/cctype>
+#endif
+
+#endif
diff --git a/libstdc++-v3/include/c_global/cerrno b/libstdc++-v3/include/c_global/cerrno
new file mode 100644 (file)
index 0000000..b767366
--- /dev/null
@@ -0,0 +1,57 @@
+// The -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file cerrno
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c errno.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std (except for names which are defined
+ *  as macros in C).
+ */
+
+//
+// ISO C++ 14882: 19.3  Error numbers
+//
+
+#pragma GCC system_header
+
+#include_next <errno.h>
+
+#ifndef _GLIBCXX_CERRNO
+#define _GLIBCXX_CERRNO 1
+
+// Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
+#ifndef errno
+#define errno errno
+#endif
+
+#endif
diff --git a/libstdc++-v3/include/c_global/cfenv b/libstdc++-v3/include/c_global/cfenv
new file mode 100644 (file)
index 0000000..f11c531
--- /dev/null
@@ -0,0 +1,46 @@
+// <cfenv> -*- C++ -*-
+
+// Copyright (C) 2007 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file include/cfenv
+ *  This is a Standard C++ Library header.
+ */
+
+#pragma GCC system_header
+
+#ifndef _GLIBCXX_CFENV
+#define _GLIBCXX_CFENV 1
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/cfenv>
+#else
+# include <c++0x_warning.h>
+#endif
+
+#endif 
+
diff --git a/libstdc++-v3/include/c_global/cfloat b/libstdc++-v3/include/c_global/cfloat
new file mode 100644 (file)
index 0000000..9d8c039
--- /dev/null
@@ -0,0 +1,56 @@
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file include/cfloat
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c float.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std (except for names which are defined
+ *  as macros in C).
+ */
+
+//
+// ISO C++ 14882: 18.2.2  Implementation properties: C library
+//
+
+#pragma GCC system_header
+
+#include_next <float.h>
+
+#ifndef _GLIBCXX_CFLOAT
+#define _GLIBCXX_CFLOAT 1
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/cfloat>
+#endif
+
+#endif
diff --git a/libstdc++-v3/include/c_global/cinttypes b/libstdc++-v3/include/c_global/cinttypes
new file mode 100644 (file)
index 0000000..d42c7a3
--- /dev/null
@@ -0,0 +1,46 @@
+// <cinttypes> -*- C++ -*-
+
+// Copyright (C) 2007 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file include/cinttypes
+ *  This is a Standard C++ Library header.
+ */
+
+#pragma GCC system_header
+
+#ifndef _GLIBCXX_CINTTYPES
+#define _GLIBCXX_CINTTYPES 1
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/cinttypes>
+#else
+# include <c++0x_warning.h>
+#endif
+
+#endif 
+
diff --git a/libstdc++-v3/include/c_global/ciso646 b/libstdc++-v3/include/c_global/ciso646
new file mode 100644 (file)
index 0000000..414a706
--- /dev/null
@@ -0,0 +1,38 @@
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file ciso646
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c iso646.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std (except for names which are defined
+ *  as macros in C).
+ */
diff --git a/libstdc++-v3/include/c_global/climits b/libstdc++-v3/include/c_global/climits
new file mode 100644 (file)
index 0000000..396bbcb
--- /dev/null
@@ -0,0 +1,56 @@
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file include/climits
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c limits.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std (except for names which are defined
+ *  as macros in C).
+ */
+
+//
+// ISO C++ 14882: 18.2.2  Implementation properties: C library
+//
+
+#pragma GCC system_header
+
+#include_next <limits.h>
+
+#ifndef _GLIBCXX_CLIMITS
+#define _GLIBCXX_CLIMITS 1
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/climits>
+#endif
+
+#endif
diff --git a/libstdc++-v3/include/c_global/clocale b/libstdc++-v3/include/c_global/clocale
new file mode 100644 (file)
index 0000000..7feac30
--- /dev/null
@@ -0,0 +1,65 @@
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file clocale
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c locale.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std (except for names which are defined
+ *  as macros in C).
+ */
+
+//
+// ISO C++ 14882: 18.2.2  Implementation properties: C library
+//
+
+#pragma GCC system_header
+
+#include <bits/c++config.h>
+#include_next <locale.h>
+
+#ifndef _GLIBCXX_CLOCALE
+#define _GLIBCXX_CLOCALE 1
+
+// Get rid of those macros defined in <locale.h> in lieu of real functions.
+#undef setlocale
+#undef localeconv
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+  using ::lconv;
+  using ::setlocale;
+  using ::localeconv;
+
+_GLIBCXX_END_NAMESPACE
+
+#endif
diff --git a/libstdc++-v3/include/c_global/cmath b/libstdc++-v3/include/c_global/cmath
new file mode 100644 (file)
index 0000000..ab21c9a
--- /dev/null
@@ -0,0 +1,603 @@
+// -*- C++ -*- C forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file include/cmath
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c math.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std (except for names which are defined
+ *  as macros in C).
+ */
+
+//
+// ISO C++ 14882: 26.5  C library
+//
+
+#pragma GCC system_header
+
+#include <bits/c++config.h>
+#include <bits/cpp_type_traits.h>
+#include <ext/type_traits.h>
+#include_next <math.h>
+
+#ifndef _GLIBCXX_CMATH
+#define _GLIBCXX_CMATH 1
+
+// Get rid of those macros defined in <math.h> in lieu of real functions.
+#undef abs
+#undef div
+#undef acos
+#undef asin
+#undef atan
+#undef atan2
+#undef ceil
+#undef cos
+#undef cosh
+#undef exp
+#undef fabs
+#undef floor
+#undef fmod
+#undef frexp
+#undef ldexp
+#undef log
+#undef log10
+#undef modf
+#undef pow
+#undef sin
+#undef sinh
+#undef sqrt
+#undef tan
+#undef tanh
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+  // Forward declaration of a helper function.  This really should be
+  // an `exported' forward declaration.
+  template<typename _Tp> _Tp __cmath_power(_Tp, unsigned int);
+
+  inline double
+  abs(double __x)
+  { return __builtin_fabs(__x); }
+
+  inline float
+  abs(float __x)
+  { return __builtin_fabsf(__x); }
+
+  inline long double
+  abs(long double __x)
+  { return __builtin_fabsl(__x); }
+
+  using ::acos;
+
+  inline float
+  acos(float __x)
+  { return __builtin_acosf(__x); }
+
+  inline long double
+  acos(long double __x)
+  { return __builtin_acosl(__x); }
+
+  template<typename _Tp>
+    inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
+                                          double>::__type
+    acos(_Tp __x)
+    { return __builtin_acos(__x); }
+
+  using ::asin;
+
+  inline float
+  asin(float __x)
+  { return __builtin_asinf(__x); }
+
+  inline long double
+  asin(long double __x)
+  { return __builtin_asinl(__x); }
+
+  template<typename _Tp>
+  inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
+                                        double>::__type
+    asin(_Tp __x)
+    { return __builtin_asin(__x); }
+
+  using ::atan;
+
+  inline float
+  atan(float __x)
+  { return __builtin_atanf(__x); }
+
+  inline long double
+  atan(long double __x)
+  { return __builtin_atanl(__x); }
+
+  template<typename _Tp>
+  inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
+                                        double>::__type
+    atan(_Tp __x)
+    { return __builtin_atan(__x); }
+
+  using ::atan2;
+
+  inline float
+  atan2(float __y, float __x)
+  { return __builtin_atan2f(__y, __x); }
+
+  inline long double
+  atan2(long double __y, long double __x)
+  { return __builtin_atan2l(__y, __x); }
+
+  template<typename _Tp, typename _Up>
+    inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value
+                                          && __is_integer<_Up>::__value, 
+                                          double>::__type
+    atan2(_Tp __y, _Up __x)
+    { return __builtin_atan2(__y, __x); }
+
+  using ::ceil;
+
+  inline float
+  ceil(float __x)
+  { return __builtin_ceilf(__x); }
+
+  inline long double
+  ceil(long double __x)
+  { return __builtin_ceill(__x); }
+
+  template<typename _Tp>
+    inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
+                                          double>::__type
+    ceil(_Tp __x)
+    { return __builtin_ceil(__x); }
+
+  using ::cos;
+
+  inline float
+  cos(float __x)
+  { return __builtin_cosf(__x); }
+
+  inline long double
+  cos(long double __x)
+  { return __builtin_cosl(__x); }
+
+  template<typename _Tp>
+    inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
+                                          double>::__type
+    cos(_Tp __x)
+    { return __builtin_cos(__x); }
+
+  using ::cosh;
+
+  inline float
+  cosh(float __x)
+  { return __builtin_coshf(__x); }
+
+  inline long double
+  cosh(long double __x)
+  { return __builtin_coshl(__x); }
+
+  template<typename _Tp>
+    inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
+                                          double>::__type
+    cosh(_Tp __x)
+    { return __builtin_cosh(__x); }
+
+  using ::exp;
+
+  inline float
+  exp(float __x)
+  { return __builtin_expf(__x); }
+
+  inline long double
+  exp(long double __x)
+  { return __builtin_expl(__x); }
+
+  template<typename _Tp>
+    inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
+                                          double>::__type
+    exp(_Tp __x)
+    { return __builtin_exp(__x); }
+
+  using ::fabs;
+
+  inline float
+  fabs(float __x)
+  { return __builtin_fabsf(__x); }
+
+  inline long double
+  fabs(long double __x)
+  { return __builtin_fabsl(__x); }
+
+  template<typename _Tp>
+    inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
+                                          double>::__type
+    fabs(_Tp __x)
+    { return __builtin_fabs(__x); }
+
+  using ::floor;
+
+  inline float
+  floor(float __x)
+  { return __builtin_floorf(__x); }
+
+  inline long double
+  floor(long double __x)
+  { return __builtin_floorl(__x); }
+
+  template<typename _Tp>
+    inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
+                                          double>::__type
+    floor(_Tp __x)
+    { return __builtin_floor(__x); }
+
+  using ::fmod;
+
+  inline float
+  fmod(float __x, float __y)
+  { return __builtin_fmodf(__x, __y); }
+
+  inline long double
+  fmod(long double __x, long double __y)
+  { return __builtin_fmodl(__x, __y); }
+
+  using ::frexp;
+
+  inline float
+  frexp(float __x, int* __exp)
+  { return __builtin_frexpf(__x, __exp); }
+
+  inline long double
+  frexp(long double __x, int* __exp)
+  { return __builtin_frexpl(__x, __exp); }
+
+  template<typename _Tp>
+    inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
+                                          double>::__type
+    frexp(_Tp __x, int* __exp)
+    { return __builtin_frexp(__x, __exp); }
+
+  using ::ldexp;
+
+  inline float
+  ldexp(float __x, int __exp)
+  { return __builtin_ldexpf(__x, __exp); }
+
+  inline long double
+  ldexp(long double __x, int __exp)
+  { return __builtin_ldexpl(__x, __exp); }
+
+  template<typename _Tp>
+    inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
+                                          double>::__type
+  ldexp(_Tp __x, int __exp)
+  { return __builtin_ldexp(__x, __exp); }
+
+  using ::log;
+
+  inline float
+  log(float __x)
+  { return __builtin_logf(__x); }
+
+  inline long double
+  log(long double __x)
+  { return __builtin_logl(__x); }
+
+  template<typename _Tp>
+    inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
+                                          double>::__type
+    log(_Tp __x)
+    { return __builtin_log(__x); }
+
+  using ::log10;
+
+  inline float
+  log10(float __x)
+  { return __builtin_log10f(__x); }
+
+  inline long double
+  log10(long double __x)
+  { return __builtin_log10l(__x); }
+
+  template<typename _Tp>
+    inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
+                                          double>::__type
+    log10(_Tp __x)
+    { return __builtin_log10(__x); }
+
+  using ::modf;
+
+  inline float
+  modf(float __x, float* __iptr)
+  { return __builtin_modff(__x, __iptr); }
+
+  inline long double
+  modf(long double __x, long double* __iptr)
+  { return __builtin_modfl(__x, __iptr); }
+
+  template<typename _Tp>
+    inline _Tp
+    __pow_helper(_Tp __x, int __n)
+    {
+      return __n < 0
+        ? _Tp(1)/__cmath_power(__x, -__n)
+        : __cmath_power(__x, __n);
+    }
+
+  using ::pow;
+
+  inline float
+  pow(float __x, float __y)
+  { return __builtin_powf(__x, __y); }
+
+  inline long double
+  pow(long double __x, long double __y)
+  { return __builtin_powl(__x, __y); }
+
+  inline double
+  pow(double __x, int __i)
+  { return __builtin_powi(__x, __i); }
+
+  inline float
+  pow(float __x, int __n)
+  { return __builtin_powif(__x, __n); }
+
+  inline long double
+  pow(long double __x, int __n)
+  { return __builtin_powil(__x, __n); }
+
+  using ::sin;
+
+  inline float
+  sin(float __x)
+  { return __builtin_sinf(__x); }
+
+  inline long double
+  sin(long double __x)
+  { return __builtin_sinl(__x); }
+
+  template<typename _Tp>
+    inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
+                                          double>::__type
+    sin(_Tp __x)
+    { return __builtin_sin(__x); }
+
+  using ::sinh;
+
+  inline float
+  sinh(float __x)
+  { return __builtin_sinhf(__x); }
+
+  inline long double
+  sinh(long double __x)
+  { return __builtin_sinhl(__x); }
+
+  template<typename _Tp>
+    inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
+                                          double>::__type
+    sinh(_Tp __x)
+    { return __builtin_sinh(__x); }
+
+  using ::sqrt;
+
+  inline float
+  sqrt(float __x)
+  { return __builtin_sqrtf(__x); }
+
+  inline long double
+  sqrt(long double __x)
+  { return __builtin_sqrtl(__x); }
+
+  template<typename _Tp>
+    inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
+                                          double>::__type
+    sqrt(_Tp __x)
+    { return __builtin_sqrt(__x); }
+
+  using ::tan;
+
+  inline float
+  tan(float __x)
+  { return __builtin_tanf(__x); }
+
+  inline long double
+  tan(long double __x)
+  { return __builtin_tanl(__x); }
+
+  template<typename _Tp>
+    inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
+                                          double>::__type
+    tan(_Tp __x)
+    { return __builtin_tan(__x); }
+
+  using ::tanh;
+
+  inline float
+  tanh(float __x)
+  { return __builtin_tanhf(__x); }
+
+  inline long double
+  tanh(long double __x)
+  { return __builtin_tanhl(__x); }
+
+  template<typename _Tp>
+    inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, 
+                                          double>::__type
+    tanh(_Tp __x)
+    { return __builtin_tanh(__x); }
+
+_GLIBCXX_END_NAMESPACE
+
+#if _GLIBCXX_USE_C99_MATH
+#if !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC
+// These are possible macros imported from C99-land. For strict
+// conformance, remove possible C99-injected names from the global
+// namespace, and sequester them in the __gnu_cxx extension namespace.
+
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
+  template<typename _Tp>
+    inline int
+    __capture_fpclassify(_Tp __f) { return fpclassify(__f); }
+
+  template<typename _Tp>
+    inline int
+    __capture_isfinite(_Tp __f) { return isfinite(__f); }
+
+  template<typename _Tp>
+    inline int
+    __capture_isinf(_Tp __f) { return isinf(__f); }
+
+  template<typename _Tp>
+    inline int
+    __capture_isnan(_Tp __f) { return isnan(__f); }
+
+  template<typename _Tp>
+    inline int
+    __capture_isnormal(_Tp __f) { return isnormal(__f); }
+
+  template<typename _Tp>
+    inline int
+    __capture_signbit(_Tp __f) { return signbit(__f); }
+
+  template<typename _Tp>
+    inline int
+    __capture_isgreater(_Tp __f1, _Tp __f2)
+    { return isgreater(__f1, __f2); }
+
+  template<typename _Tp>
+    inline int
+    __capture_isgreaterequal(_Tp __f1, _Tp __f2)
+    { return isgreaterequal(__f1, __f2); }
+
+  template<typename _Tp>
+    inline int
+    __capture_isless(_Tp __f1, _Tp __f2) { return isless(__f1, __f2); }
+
+  template<typename _Tp>
+    inline int
+    __capture_islessequal(_Tp __f1, _Tp __f2)
+    { return islessequal(__f1, __f2); }
+
+  template<typename _Tp>
+    inline int
+    __capture_islessgreater(_Tp __f1, _Tp __f2)
+    { return islessgreater(__f1, __f2); }
+
+  template<typename _Tp>
+    inline int
+    __capture_isunordered(_Tp __f1, _Tp __f2)
+    { return isunordered(__f1, __f2); }
+
+_GLIBCXX_END_NAMESPACE
+
+// Only undefine the C99 FP macros, if actually captured for namespace movement
+#undef fpclassify
+#undef isfinite
+#undef isinf
+#undef isnan
+#undef isnormal
+#undef signbit
+#undef isgreater
+#undef isgreaterequal
+#undef isless
+#undef islessequal
+#undef islessgreater
+#undef isunordered
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+  template<typename _Tp>
+    inline int
+    fpclassify(_Tp __f) { return ::__gnu_cxx::__capture_fpclassify(__f); }
+
+  template<typename _Tp>
+    inline int
+    isfinite(_Tp __f) { return ::__gnu_cxx::__capture_isfinite(__f); }
+
+  template<typename _Tp>
+    inline int
+    isinf(_Tp __f) { return ::__gnu_cxx::__capture_isinf(__f); }
+
+  template<typename _Tp>
+    inline int
+    isnan(_Tp __f) { return ::__gnu_cxx::__capture_isnan(__f); }
+
+  template<typename _Tp>
+    inline int
+    isnormal(_Tp __f) { return ::__gnu_cxx::__capture_isnormal(__f); }
+
+  template<typename _Tp>
+    inline int
+    signbit(_Tp __f) { return ::__gnu_cxx::__capture_signbit(__f); }
+
+  template<typename _Tp>
+    inline int
+    isgreater(_Tp __f1, _Tp __f2)
+    { return ::__gnu_cxx::__capture_isgreater(__f1, __f2); }
+
+  template<typename _Tp>
+    inline int
+    isgreaterequal(_Tp __f1, _Tp __f2)
+    { return ::__gnu_cxx::__capture_isgreaterequal(__f1, __f2); }
+
+  template<typename _Tp>
+    inline int
+    isless(_Tp __f1, _Tp __f2)
+    { return ::__gnu_cxx::__capture_isless(__f1, __f2); }
+
+  template<typename _Tp>
+    inline int
+    islessequal(_Tp __f1, _Tp __f2)
+    { return ::__gnu_cxx::__capture_islessequal(__f1, __f2); }
+
+  template<typename _Tp>
+    inline int
+    islessgreater(_Tp __f1, _Tp __f2)
+    { return ::__gnu_cxx::__capture_islessgreater(__f1, __f2); }
+
+  template<typename _Tp>
+    inline int
+    isunordered(_Tp __f1, _Tp __f2)
+    { return ::__gnu_cxx::__capture_isunordered(__f1, __f2); }
+
+_GLIBCXX_END_NAMESPACE
+
+#endif /* _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC */
+#endif
+
+#ifndef _GLIBCXX_EXPORT_TEMPLATE
+# include <bits/cmath.tcc>
+#endif
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/cmath>
+#endif
+
+#endif
diff --git a/libstdc++-v3/include/c_global/cmath.tcc b/libstdc++-v3/include/c_global/cmath.tcc
new file mode 100644 (file)
index 0000000..ff87564
--- /dev/null
@@ -0,0 +1,59 @@
+// -*- C++ -*- C math library.
+
+// Copyright (C) 2000, 2003, 2004, 2006 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+// This file was written by Gabriel Dos Reis <gdr@codesourcery.com>
+
+/** @file cmath.tcc
+ *  This is a Standard C++ Library file.
+ */
+
+#ifndef _GLIBCXX_CMATH_TCC
+#define _GLIBCXX_CMATH_TCC 1
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+  template<typename _Tp>
+    inline _Tp
+    __cmath_power(_Tp __x, unsigned int __n)
+    {
+      _Tp __y = __n % 2 ? __x : 1;
+
+      while (__n >>= 1)
+        {
+          __x = __x * __x;
+          if (__n % 2)
+            __y = __y * __x;
+        }
+
+      return __y;
+    }
+
+_GLIBCXX_END_NAMESPACE
+
+#endif
diff --git a/libstdc++-v3/include/c_global/csetjmp b/libstdc++-v3/include/c_global/csetjmp
new file mode 100644 (file)
index 0000000..3c28634
--- /dev/null
@@ -0,0 +1,68 @@
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file csetjmp
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c setjmp.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std (except for names which are defined
+ *  as macros in C).
+ */
+
+//
+// ISO C++ 14882: 20.4.6  C library
+//
+
+#pragma GCC system_header
+
+#include <bits/c++config.h>
+#include_next <setjmp.h>
+
+#ifndef _GLIBCXX_CSETJMP
+#define _GLIBCXX_CSETJMP 1
+
+// 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) setjmp (env)
+#endif
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+  using ::jmp_buf;
+  using ::longjmp;
+
+_GLIBCXX_END_NAMESPACE
+
+#endif
diff --git a/libstdc++-v3/include/c_global/csignal b/libstdc++-v3/include/c_global/csignal
new file mode 100644 (file)
index 0000000..cf89c5a
--- /dev/null
@@ -0,0 +1,64 @@
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file csignal
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c signal.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std (except for names which are defined
+ *  as macros in C).
+ */
+
+//
+// ISO C++ 14882: 20.4.6  C library
+//
+
+#pragma GCC system_header
+
+#include <bits/c++config.h>
+#include_next <signal.h>
+
+#ifndef _GLIBCXX_CSIGNAL
+#define _GLIBCXX_CSIGNAL 1
+
+// Get rid of those macros defined in <signal.h> in lieu of real functions.
+#undef raise
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+  using ::sig_atomic_t;
+  using ::signal;
+  using ::raise;
+
+_GLIBCXX_END_NAMESPACE
+
+#endif
diff --git a/libstdc++-v3/include/c_global/cstdarg b/libstdc++-v3/include/c_global/cstdarg
new file mode 100644 (file)
index 0000000..9acd24e
--- /dev/null
@@ -0,0 +1,68 @@
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file include/cstdarg
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c stdarg.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std (except for names which are defined
+ *  as macros in C).
+ */
+
+//
+// ISO C++ 14882: 20.4.6  C library
+//
+
+#pragma GCC system_header
+
+#include <bits/c++config.h>
+#include_next <stdarg.h>
+
+#ifndef _GLIBCXX_CSTDARG
+#define _GLIBCXX_CSTDARG 1
+
+// Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
+#ifndef va_end
+#define va_end(ap) va_end (ap)
+#endif
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+  using ::va_list;
+
+_GLIBCXX_END_NAMESPACE
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/cstdarg>
+#endif
+
+#endif
diff --git a/libstdc++-v3/include/c_global/cstdbool b/libstdc++-v3/include/c_global/cstdbool
new file mode 100644 (file)
index 0000000..ac18c74
--- /dev/null
@@ -0,0 +1,46 @@
+// <cstdbool> -*- C++ -*-
+
+// Copyright (C) 2007 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file include/cstdbool
+ *  This is a Standard C++ Library header.
+ */
+
+#pragma GCC system_header
+
+#ifndef _GLIBCXX_CSTDBOOL
+#define _GLIBCXX_CSTDBOOL 1
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/cstdbool>
+#else
+# include <c++0x_warning.h>
+#endif
+
+#endif 
+
diff --git a/libstdc++-v3/include/c_global/cstddef b/libstdc++-v3/include/c_global/cstddef
new file mode 100644 (file)
index 0000000..5196aeb
--- /dev/null
@@ -0,0 +1,60 @@
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file cstddef
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c stddef.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std (except for names which are defined
+ *  as macros in C).
+ */
+
+//
+// ISO C++ 14882: 18.1  Types
+//
+
+#pragma GCC system_header
+
+#include <bits/c++config.h>
+#include_next <stddef.h>
+
+#ifndef _GLIBCXX_CSTDDEF
+#define _GLIBCXX_CSTDDEF 1
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+  using ::ptrdiff_t;
+  using ::size_t;
+
+_GLIBCXX_END_NAMESPACE
+
+#endif
diff --git a/libstdc++-v3/include/c_global/cstdint b/libstdc++-v3/include/c_global/cstdint
new file mode 100644 (file)
index 0000000..ece67a3
--- /dev/null
@@ -0,0 +1,46 @@
+// <cstdint> -*- C++ -*-
+
+// Copyright (C) 2007 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file include/cstdint
+ *  This is a Standard C++ Library header.
+ */
+
+#pragma GCC system_header
+
+#ifndef _GLIBCXX_CSTDINT
+#define _GLIBCXX_CSTDINT 1
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/cstdint>
+#else
+# include <c++0x_warning.h>
+#endif
+
+#endif 
+
diff --git a/libstdc++-v3/include/c_global/cstdio b/libstdc++-v3/include/c_global/cstdio
new file mode 100644 (file)
index 0000000..ec25b99
--- /dev/null
@@ -0,0 +1,194 @@
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file include/cstdio
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c stdio.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std (except for names which are defined
+ *  as macros in C).
+ */
+
+//
+// ISO C++ 14882: 27.8.2  C Library files
+//
+
+#pragma GCC system_header
+
+#include <bits/c++config.h>
+#include <cstddef>
+#include_next <stdio.h>
+
+#ifndef _GLIBCXX_CSTDIO
+#define _GLIBCXX_CSTDIO 1
+
+// Get rid of those macros defined in <stdio.h> in lieu of real functions.
+#undef clearerr
+#undef fclose
+#undef feof
+#undef ferror
+#undef fflush
+#undef fgetc
+#undef fgetpos
+#undef fgets
+#undef fopen
+#undef fprintf
+#undef fputc
+#undef fputs
+#undef fread
+#undef freopen
+#undef fscanf
+#undef fseek
+#undef fsetpos
+#undef ftell
+#undef fwrite
+#undef getc
+#undef getchar
+#undef gets
+#undef perror
+#undef printf
+#undef putc
+#undef putchar
+#undef puts
+#undef remove
+#undef rename
+#undef rewind
+#undef scanf
+#undef setbuf
+#undef setvbuf
+#undef sprintf
+#undef sscanf
+#undef tmpfile
+#undef tmpnam
+#undef ungetc
+#undef vfprintf
+#undef vprintf
+#undef vsprintf
+
+_GLIBCXX_BEGIN_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;
+
+_GLIBCXX_END_NAMESPACE
+
+#if _GLIBCXX_USE_C99
+
+#undef snprintf
+#undef vfscanf
+#undef vscanf
+#undef vsnprintf
+#undef vsscanf
+
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
+#if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC
+  extern "C" int
+  (snprintf)(char * restrict, size_t, const char * restrict, ...);
+  extern "C" int
+  (vfscanf)(FILE * restrict, const char * restrict, __gnuc_va_list);
+  extern "C" int (vscanf)(const char * restrict, __gnuc_va_list);
+  extern "C" int
+  (vsnprintf)(char * restrict, size_t, const char * restrict, __gnuc_va_list);
+  extern "C" int
+  (vsscanf)(const char * restrict, const char * restrict, __gnuc_va_list);
+#endif
+
+#if !_GLIBCXX_USE_C99_DYNAMIC
+  using ::snprintf;
+  using ::vfscanf;
+  using ::vscanf;
+  using ::vsnprintf;
+  using ::vsscanf;
+#endif
+
+_GLIBCXX_END_NAMESPACE
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+  using ::__gnu_cxx::snprintf;
+  using ::__gnu_cxx::vfscanf;
+  using ::__gnu_cxx::vscanf;
+  using ::__gnu_cxx::vsnprintf;
+  using ::__gnu_cxx::vsscanf;
+
+_GLIBCXX_END_NAMESPACE
+
+#endif // _GLIBCXX_USE_C99
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/cstdio>
+#endif
+
+#endif
diff --git a/libstdc++-v3/include/c_global/cstdlib b/libstdc++-v3/include/c_global/cstdlib
new file mode 100644 (file)
index 0000000..e4ab8f9
--- /dev/null
@@ -0,0 +1,231 @@
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file include/cstdlib
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c stdlib.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std (except for names which are defined
+ *  as macros in C).
+ */
+
+//
+// ISO C++ 14882: 20.4.6  C library
+//
+
+#pragma GCC system_header
+
+#include <bits/c++config.h>
+#include <cstddef>
+
+#ifndef _GLIBCXX_CSTDLIB
+#define _GLIBCXX_CSTDLIB 1
+
+#if !_GLIBCXX_HOSTED
+// The C standard does not require a freestanding implementation to
+// provide <stdlib.h>.  However, the C++ standard does still require
+// <cstdlib> -- but only the functionality mentioned in
+// [lib.support.start.term].
+
+#define EXIT_SUCCESS 0
+#define EXIT_FAILURE 1
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+  extern "C" void abort(void);
+  extern "C" int atexit(void (*)());
+  extern "C" void exit(int);
+
+_GLIBCXX_END_NAMESPACE
+
+#else
+
+#include_next <stdlib.h>
+
+// Get rid of those macros defined in <stdlib.h> in lieu of real functions.
+#undef abort
+#undef abs
+#undef atexit
+#undef atof
+#undef atoi
+#undef atol
+#undef bsearch
+#undef calloc
+#undef div
+#undef exit
+#undef free
+#undef getenv
+#undef labs
+#undef ldiv
+#undef malloc
+#undef mblen
+#undef mbstowcs
+#undef mbtowc
+#undef qsort
+#undef rand
+#undef realloc
+#undef srand
+#undef strtod
+#undef strtol
+#undef strtoul
+#undef system
+#undef wcstombs
+#undef wctomb
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+  using ::div_t;
+  using ::ldiv_t;
+
+  using ::abort;
+  using ::abs;
+  using ::atexit;
+  using ::atof;
+  using ::atoi;
+  using ::atol;
+  using ::bsearch;
+  using ::calloc;
+  using ::div;
+  using ::exit;
+  using ::free;
+  using ::getenv;
+  using ::labs;
+  using ::ldiv;
+  using ::malloc;
+#ifdef _GLIBCXX_HAVE_MBSTATE_T
+  using ::mblen;
+  using ::mbstowcs;
+  using ::mbtowc;
+#endif // _GLIBCXX_HAVE_MBSTATE_T
+  using ::qsort;
+  using ::rand;
+  using ::realloc;
+  using ::srand;
+  using ::strtod;
+  using ::strtol;
+  using ::strtoul;
+  using ::system;
+#ifdef _GLIBCXX_USE_WCHAR_T
+  using ::wcstombs;
+  using ::wctomb;
+#endif // _GLIBCXX_USE_WCHAR_T
+
+  inline long
+  abs(long __i) { return labs(__i); }
+
+  inline ldiv_t
+  div(long __i, long __j) { return ldiv(__i, __j); }
+
+_GLIBCXX_END_NAMESPACE
+
+#if _GLIBCXX_USE_C99
+
+#undef _Exit
+#undef llabs
+#undef lldiv
+#undef atoll
+#undef strtoll
+#undef strtoull
+#undef strtof
+#undef strtold
+
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
+#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
+  using ::lldiv_t;
+#endif
+#if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC
+  extern "C" void (_Exit)(int);
+#endif
+#if !_GLIBCXX_USE_C99_DYNAMIC
+  using ::_Exit;
+#endif
+
+  inline long long
+  abs(long long __x) { return __x >= 0 ? __x : -__x; }
+
+#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
+  using ::llabs;
+
+  inline lldiv_t
+  div(long long __n, long long __d)
+  { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
+
+  using ::lldiv;
+#endif
+
+#if _GLIBCXX_USE_C99_LONG_LONG_CHECK || _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
+  extern "C" long long int (atoll)(const char *);
+  extern "C" long long int
+    (strtoll)(const char * restrict, char ** restrict, int);
+  extern "C" unsigned long long int
+    (strtoull)(const char * restrict, char ** restrict, int);
+#endif
+#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
+  using ::atoll;
+  using ::strtoll;
+  using ::strtoull;
+#endif
+  using ::strtof;
+  using ::strtold;
+
+_GLIBCXX_END_NAMESPACE
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
+  using ::__gnu_cxx::lldiv_t;
+#endif
+  using ::__gnu_cxx::_Exit;
+  using ::__gnu_cxx::abs;
+#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
+  using ::__gnu_cxx::llabs;
+  using ::__gnu_cxx::div;
+  using ::__gnu_cxx::lldiv;
+#endif
+  using ::__gnu_cxx::atoll;
+  using ::__gnu_cxx::strtof;
+  using ::__gnu_cxx::strtoll;
+  using ::__gnu_cxx::strtoull;
+  using ::__gnu_cxx::strtold;
+
+_GLIBCXX_END_NAMESPACE
+
+#endif // _GLIBCXX_USE_C99
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/cstdlib>
+#endif
+
+#endif // !_GLIBCXX_HOSTED
+
+#endif
diff --git a/libstdc++-v3/include/c_global/cstring b/libstdc++-v3/include/c_global/cstring
new file mode 100644 (file)
index 0000000..c797aca
--- /dev/null
@@ -0,0 +1,130 @@
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file cstring
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c string.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std (except for names which are defined
+ *  as macros in C).
+ */
+
+//
+// ISO C++ 14882: 20.4.6  C library
+//
+
+#pragma GCC system_header
+
+#include <bits/c++config.h>
+#include <cstddef>
+#include_next <string.h>
+
+#ifndef _GLIBCXX_CSTRING
+#define _GLIBCXX_CSTRING 1
+
+// Get rid of those macros defined in <string.h> in lieu of real functions.
+#undef memcpy
+#undef memmove
+#undef strcpy
+#undef strncpy
+#undef strcat
+#undef strncat
+#undef memcmp
+#undef strcmp
+#undef strcoll
+#undef strncmp
+#undef strxfrm
+#undef memchr
+#undef strchr
+#undef strcspn
+#undef strpbrk
+#undef strrchr
+#undef strspn
+#undef strstr
+#undef strtok
+#undef memset
+#undef strerror
+#undef strlen
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+  using ::memcpy;
+  using ::memmove;
+  using ::strcpy;
+  using ::strncpy;
+  using ::strcat;
+  using ::strncat;
+  using ::memcmp;
+  using ::strcmp;
+  using ::strcoll;
+  using ::strncmp;
+  using ::strxfrm;
+  using ::strcspn;
+  using ::strspn;
+  using ::strtok;
+  using ::memset;
+  using ::strerror;
+  using ::strlen;
+
+  using ::memchr;
+
+  inline void*
+  memchr(void* __p, int __c, size_t __n)
+  { return memchr(const_cast<const void*>(__p), __c, __n); }
+
+  using ::strchr;
+
+  inline char*
+  strchr(char* __s1, int __n)
+  { return __builtin_strchr(const_cast<const char*>(__s1), __n); }
+
+  using ::strpbrk;
+
+  inline char*
+  strpbrk(char* __s1, const char* __s2)
+  { return __builtin_strpbrk(const_cast<const char*>(__s1), __s2); }
+
+  using ::strrchr;
+
+  inline char*
+  strrchr(char* __s1, int __n)
+  { return __builtin_strrchr(const_cast<const char*>(__s1), __n); }
+
+  using ::strstr;
+
+  inline char*
+  strstr(char* __s1, const char* __s2)
+  { return __builtin_strstr(const_cast<const char*>(__s1), __s2); }
+
+_GLIBCXX_END_NAMESPACE
+
+#endif
diff --git a/libstdc++-v3/include/c_global/ctgmath b/libstdc++-v3/include/c_global/ctgmath
new file mode 100644 (file)
index 0000000..623ed9b
--- /dev/null
@@ -0,0 +1,46 @@
+// <ctgmath> -*- C++ -*-
+
+// Copyright (C) 2007 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file include/ctgmath
+ *  This is a Standard C++ Library header.
+ */
+
+#pragma GCC system_header
+
+#ifndef _GLIBCXX_CTGMATH
+#define _GLIBCXX_CTGMATH 1
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/ctgmath>
+#else
+# include <c++0x_warning.h>
+#endif
+
+#endif 
+
diff --git a/libstdc++-v3/include/c_global/ctime b/libstdc++-v3/include/c_global/ctime
new file mode 100644 (file)
index 0000000..8b563ba
--- /dev/null
@@ -0,0 +1,86 @@
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file include/ctime
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c time.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std (except for names which are defined
+ *  as macros in C).
+ */
+
+//
+// ISO C++ 14882: 20.5  Date and time
+//
+
+#pragma GCC system_header
+
+#include <cstddef>
+#include_next <time.h>
+
+#ifndef _GLIBCXX_CTIME
+#define _GLIBCXX_CTIME 1
+
+// 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
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+  using ::clock_t;
+  using ::time_t;
+  using ::tm;
+
+  using ::clock;
+  using ::difftime;
+  using ::mktime;
+  using ::time;
+  using ::asctime;
+  using ::ctime;
+  using ::gmtime;
+  using ::localtime;
+  using ::strftime;
+
+_GLIBCXX_END_NAMESPACE
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/ctime>
+#endif
+
+#endif
diff --git a/libstdc++-v3/include/c_global/cwchar b/libstdc++-v3/include/c_global/cwchar
new file mode 100644 (file)
index 0000000..6e86734
--- /dev/null
@@ -0,0 +1,284 @@
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file include/cwchar
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c wchar.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std (except for names which are defined
+ *  as macros in C).
+ */
+
+//
+// ISO C++ 14882: 21.4
+//
+
+#pragma GCC system_header
+
+#include <bits/c++config.h>
+#include <cstddef>
+#include <ctime>
+
+#if _GLIBCXX_HAVE_WCHAR_H
+#include_next <wchar.h>
+#endif
+
+#ifndef _GLIBCXX_CWCHAR
+#define _GLIBCXX_CWCHAR 1
+
+// Need to do a bit of trickery here with mbstate_t as char_traits
+// assumes it is in wchar.h, regardless of wchar_t specializations.
+#ifndef _GLIBCXX_HAVE_MBSTATE_T
+extern "C"
+{
+  typedef struct
+  {
+    int __fill[6];
+  } mbstate_t;
+}
+#endif
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+  using ::mbstate_t;
+
+_GLIBCXX_END_NAMESPACE
+
+// Get rid of those macros defined in <wchar.h> in lieu of real functions.
+#undef btowc
+#undef fgetwc
+#undef fgetws
+#undef fputwc
+#undef fputws
+#undef fwide
+#undef fwprintf
+#undef fwscanf
+#undef getwc
+#undef getwchar
+#undef mbrlen
+#undef mbrtowc
+#undef mbsinit
+#undef mbsrtowcs
+#undef putwc
+#undef putwchar
+#undef swprintf
+#undef swscanf
+#undef ungetwc
+#undef vfwprintf
+#if _GLIBCXX_HAVE_VFWSCANF
+# undef vfwscanf
+#endif
+#undef vswprintf
+#if _GLIBCXX_HAVE_VSWSCANF
+# undef vswscanf
+#endif
+#undef vwprintf
+#if _GLIBCXX_HAVE_VWSCANF
+# undef vwscanf
+#endif
+#undef wcrtomb
+#undef wcscat
+#undef wcschr
+#undef wcscmp
+#undef wcscoll
+#undef wcscpy
+#undef wcscspn
+#undef wcsftime
+#undef wcslen
+#undef wcsncat
+#undef wcsncmp
+#undef wcsncpy
+#undef wcspbrk
+#undef wcsrchr
+#undef wcsrtombs
+#undef wcsspn
+#undef wcsstr
+#undef wcstod
+#if _GLIBCXX_HAVE_WCSTOF
+# undef wcstof
+#endif
+#undef wcstok
+#undef wcstol
+#undef wcstoul
+#undef wcsxfrm
+#undef wctob
+#undef wmemchr
+#undef wmemcmp
+#undef wmemcpy
+#undef wmemmove
+#undef wmemset
+#undef wprintf
+#undef wscanf
+
+#if _GLIBCXX_USE_WCHAR_T
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+  using ::wint_t;
+
+  using ::btowc;
+  using ::fgetwc;
+  using ::fgetws;
+  using ::fputwc;
+  using ::fputws;
+  using ::fwide;
+  using ::fwprintf;
+  using ::fwscanf;
+  using ::getwc;
+  using ::getwchar;
+  using ::mbrlen;
+  using ::mbrtowc;
+  using ::mbsinit;
+  using ::mbsrtowcs;
+  using ::putwc;
+  using ::putwchar;
+  using ::swprintf;
+  using ::swscanf;
+  using ::ungetwc;
+  using ::vfwprintf;
+#if _GLIBCXX_HAVE_VFWSCANF
+  using ::vfwscanf;
+#endif
+  using ::vswprintf;
+#if _GLIBCXX_HAVE_VSWSCANF
+  using ::vswscanf;
+#endif
+  using ::vwprintf;
+#if _GLIBCXX_HAVE_VWSCANF
+  using ::vwscanf;
+#endif
+  using ::wcrtomb;
+  using ::wcscat;
+  using ::wcscmp;
+  using ::wcscoll;
+  using ::wcscpy;
+  using ::wcscspn;
+  using ::wcsftime;
+  using ::wcslen;
+  using ::wcsncat;
+  using ::wcsncmp;
+  using ::wcsncpy;
+  using ::wcsrtombs;
+  using ::wcsspn;
+  using ::wcstod;
+#if _GLIBCXX_HAVE_WCSTOF
+  using ::wcstof;
+#endif
+  using ::wcstok;
+  using ::wcstol;
+  using ::wcstoul;
+  using ::wcsxfrm;
+  using ::wctob;
+  using ::wmemcmp;
+  using ::wmemcpy;
+  using ::wmemmove;
+  using ::wmemset;
+  using ::wprintf;
+  using ::wscanf;
+
+  using ::wcschr;
+
+  inline wchar_t*
+  wcschr(wchar_t* __p, wchar_t __c)
+  { return wcschr(const_cast<const wchar_t*>(__p), __c); }
+
+  using ::wcspbrk;
+
+  inline wchar_t*
+  wcspbrk(wchar_t* __s1, const wchar_t* __s2)
+  { return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); }
+
+  using ::wcsrchr;
+
+  inline wchar_t*
+  wcsrchr(wchar_t* __p, wchar_t __c)
+  { return wcsrchr(const_cast<const wchar_t*>(__p), __c); }
+
+  using ::wcsstr;
+
+  inline wchar_t*
+  wcsstr(wchar_t* __s1, const wchar_t* __s2)
+  { return wcsstr(const_cast<const wchar_t*>(__s1), __s2); }
+
+  using ::wmemchr;
+
+  inline wchar_t*
+  wmemchr(wchar_t* __p, wchar_t __c, size_t __n)
+  { return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); }
+
+_GLIBCXX_END_NAMESPACE
+
+#if _GLIBCXX_USE_C99
+
+#undef wcstold
+#undef wcstoll
+#undef wcstoull
+
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
+#if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC
+  extern "C" long double
+    (wcstold)(const wchar_t * restrict, wchar_t ** restrict);
+#endif
+#if !_GLIBCXX_USE_C99_DYNAMIC
+  using ::wcstold;
+#endif
+#if _GLIBCXX_USE_C99_LONG_LONG_CHECK || _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
+  extern "C" long long int
+    (wcstoll)(const wchar_t * restrict, wchar_t ** restrict, int);
+  extern "C" unsigned long long int
+    (wcstoull)(const wchar_t * restrict, wchar_t ** restrict, int);
+#endif
+#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
+  using ::wcstoll;
+  using ::wcstoull;
+#endif
+
+_GLIBCXX_END_NAMESPACE
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+  using ::__gnu_cxx::wcstold;
+  using ::__gnu_cxx::wcstoll;
+  using ::__gnu_cxx::wcstoull;
+
+_GLIBCXX_END_NAMESPACE
+
+#endif
+
+#endif //_GLIBCXX_USE_WCHAR_T
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/cwchar>
+#endif
+
+#endif
diff --git a/libstdc++-v3/include/c_global/cwctype b/libstdc++-v3/include/c_global/cwctype
new file mode 100644 (file)
index 0000000..ab97b8d
--- /dev/null
@@ -0,0 +1,116 @@
+// -*- C++ -*- forwarding header.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file include/cwctype
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c wctype.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std (except for names which are defined
+ *  as macros in C).
+ */
+
+//
+// ISO C++ 14882: <cwctype>
+//
+
+#pragma GCC system_header
+
+#include <bits/c++config.h>
+
+#if _GLIBCXX_HAVE_WCTYPE_H
+#include_next <wctype.h>
+#endif
+
+#ifndef _GLIBCXX_CWCTYPE
+#define _GLIBCXX_CWCTYPE 1
+
+// Get rid of those macros defined in <wctype.h> in lieu of real functions.
+#undef iswalnum
+#undef iswalpha
+#if _GLIBCXX_HAVE_ISWBLANK
+# undef iswblank
+#endif
+#undef iswcntrl
+#undef iswctype
+#undef iswdigit
+#undef iswgraph
+#undef iswlower
+#undef iswprint
+#undef iswpunct
+#undef iswspace
+#undef iswupper
+#undef iswxdigit
+#undef towctrans
+#undef towlower
+#undef towupper
+#undef wctrans
+#undef wctype
+
+#if _GLIBCXX_USE_WCHAR_T
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+  using ::wint_t;        // cwchar
+
+  using ::wctype_t;
+  using ::wctrans_t;
+
+  using ::iswalnum;
+  using ::iswalpha;
+#if _GLIBCXX_HAVE_ISWBLANK
+  using ::iswblank;
+#endif
+  using ::iswcntrl;
+  using ::iswctype;
+  using ::iswdigit;
+  using ::iswgraph;
+  using ::iswlower;
+  using ::iswprint;
+  using ::iswpunct;
+  using ::iswspace;
+  using ::iswupper;
+  using ::iswxdigit;
+  using ::towctrans;
+  using ::towlower;
+  using ::towupper;
+  using ::wctrans;
+  using ::wctype;
+
+_GLIBCXX_END_NAMESPACE
+
+#endif //_GLIBCXX_USE_WCHAR_T
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/cwctype>
+#endif
+
+#endif
index d579bbd..8f88cc0 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
diff --git a/libstdc++-v3/include/std/array b/libstdc++-v3/include/std/array
new file mode 100644 (file)
index 0000000..5ca2604
--- /dev/null
@@ -0,0 +1,46 @@
+// <array> -*- C++ -*-
+
+// Copyright (C) 2007 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file include/array
+ *  This is a Standard C++ Library header.
+ */
+
+#ifndef _GLIBCXX_ARRAY
+#define _GLIBCXX_ARRAY 1
+
+#pragma GCC system_header
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/array>
+#else
+# include <c++0x_warning.h>
+#endif
+
+#endif 
+
index b0bc555..3a7d40b 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
diff --git a/libstdc++-v3/include/std/c++0x_warning.h b/libstdc++-v3/include/std/c++0x_warning.h
new file mode 100644 (file)
index 0000000..642e542
--- /dev/null
@@ -0,0 +1,41 @@
+// Copyright (C) 2007 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file include/c++0x_warning.h
+ *  This is a Standard C++ Library header.
+ */
+
+#ifndef _CXX0X_WARNING_H
+#define _CXX0X_WARNING_H 1
+
+#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#error This file requires compiler and library support for the upcoming \
+ISO C++ standard, C++0x. This support is currently experimental, and must be \
+enabled with the -std=c++0x or -std=gnu++0x compiler options.
+#endif
+
+#endif
index 26f31f6..b91732b 100644 (file)
@@ -1,6 +1,6 @@
 // The template and inlines for the -*- C++ -*- complex number classes.
 
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 // Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
@@ -1486,4 +1486,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
 
 _GLIBCXX_END_NAMESPACE
 
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/complex>
+#endif
+
 #endif /* _GLIBCXX_COMPLEX */
index 93ca4ca..1891b34 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
index f664f2d..adcf3eb 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
index 1841314..33bab64 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
@@ -54,4 +54,8 @@
 #include <bits/c++config.h>
 #include <bits/stl_function.h>
 
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/functional>
+#endif
+
 #endif /* _GLIBCXX_FUNCTIONAL */
index 13079e4..53c013c 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
index f081115..95d8450 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
index d2da12b..f80d34b 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
index 0ff0da2..a4bdf86 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
index d6b0dfb..0a4e5c7 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
index f0317b4..5533590 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
index fffa875..621a6fc 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
index 10461a1..8e58586 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
index 5223f90..328332a 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
index a7e8f9c..29a5f6e 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
index f604ac9..2dd6476 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
@@ -380,4 +380,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
 
 _GLIBCXX_END_NAMESPACE
 
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/memory>
+#endif
+
 #endif /* _GLIBCXX_MEMORY */
index 55ab7a8..7f21b3d 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
index 2a84f80..942a5a4 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
index 2d919d0..42cc432 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
diff --git a/libstdc++-v3/include/std/random b/libstdc++-v3/include/std/random
new file mode 100644 (file)
index 0000000..6faf5f5
--- /dev/null
@@ -0,0 +1,46 @@
+// <random> -*- C++ -*-
+
+// Copyright (C) 2007 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file include/random
+ *  This is a Standard C++ Library header.
+ */
+
+#ifndef _GLIBCXX_RANDOM
+#define _GLIBCXX_RANDOM 1
+
+#pragma GCC system_header
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/random>
+#else
+# include <c++0x_warning.h>
+#endif
+
+#endif 
+
diff --git a/libstdc++-v3/include/std/regex b/libstdc++-v3/include/std/regex
new file mode 100644 (file)
index 0000000..4b4e482
--- /dev/null
@@ -0,0 +1,46 @@
+// <regex> -*- C++ -*-
+
+// Copyright (C) 2007 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file include/regex
+ *  This is a Standard C++ Library header.
+ */
+
+#ifndef _GLIBCXX_REGEX
+#define _GLIBCXX_REGEX 1
+
+#pragma GCC system_header
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/regex>
+#else
+# include <c++0x_warning.h>
+#endif
+
+#endif 
+
index 65ebe8a..801a8b1 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
index a09815c..66159c8 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
index b51155e..318d4b9 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
index 2d56b38..d246428 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
index 9de7907..5e71037 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
index 0899cfe..7819015 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
diff --git a/libstdc++-v3/include/std/tuple b/libstdc++-v3/include/std/tuple
new file mode 100644 (file)
index 0000000..7ea9aff
--- /dev/null
@@ -0,0 +1,46 @@
+// <tuple> -*- C++ -*-
+
+// Copyright (C) 2007 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file include/tuple
+ *  This is a Standard C++ Library header.
+ */
+
+#ifndef _GLIBCXX_TUPLE
+#define _GLIBCXX_TUPLE 1
+
+#pragma GCC system_header
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/tuple>
+#else
+# include <c++0x_warning.h>
+#endif
+
+#endif 
+
diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits
new file mode 100644 (file)
index 0000000..1d83dab
--- /dev/null
@@ -0,0 +1,46 @@
+// <type_traits> -*- C++ -*-
+
+// Copyright (C) 2007 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file include/type_traits
+ *  This is a Standard C++ Library header.
+ */
+
+#ifndef _GLIBCXX_TYPE_TRAITS
+#define _GLIBCXX_TYPE_TRAITS 1
+
+#pragma GCC system_header
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/type_traits>
+#else
+# include <c++0x_warning.h>
+#endif
+
+#endif 
+
diff --git a/libstdc++-v3/include/std/unordered_map b/libstdc++-v3/include/std/unordered_map
new file mode 100644 (file)
index 0000000..9eee766
--- /dev/null
@@ -0,0 +1,46 @@
+// <unordered_map> -*- C++ -*-
+
+// Copyright (C) 2007 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file include/unordered_map
+ *  This is a Standard C++ Library header.
+ */
+
+#ifndef _GLIBCXX_UNORDERED_MAP
+#define _GLIBCXX_UNORDERED_MAP 1
+
+#pragma GCC system_header
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/unordered_map>
+#else
+# include <c++0x_warning.h>
+#endif
+
+#endif 
+
diff --git a/libstdc++-v3/include/std/unordered_set b/libstdc++-v3/include/std/unordered_set
new file mode 100644 (file)
index 0000000..d83cfa3
--- /dev/null
@@ -0,0 +1,46 @@
+// <unordered_set> -*- C++ -*-
+
+// Copyright (C) 2007 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, 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.
+
+/** @file include/unordered_set
+ *  This is a Standard C++ Library header.
+ */
+
+#ifndef _GLIBCXX_UNORDERED_SET
+#define _GLIBCXX_UNORDERED_SET 1
+
+#pragma GCC system_header
+
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/unordered_set>
+#else
+# include <c++0x_warning.h>
+#endif
+
+#endif 
+
index 84c9131..c17b355 100644 (file)
@@ -1,6 +1,6 @@
 // <utility> -*- C++ -*-
 
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2006 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
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
@@ -66,4 +66,8 @@
 #include <bits/stl_relops.h>
 #include <bits/stl_pair.h>
 
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+# include <tr1/utility>
+#endif
+
 #endif /* _GLIBCXX_UTILITY */
index 6b9d63f..b23c867 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
index d7aba96..83a08ff 100644 (file)
 // 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// 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, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
 
 // As a special exception, you may use this file as part of a free software
 // library without restriction.  Specifically, if other files instantiate
index 23808b3..d08aa83 100644 (file)
@@ -44,7 +44,7 @@
 //namespace std::tr1
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
   /// @brief  struct array [6.2.2].
   /// NB: Requires complete type _Tp.
index fc79cfc..524a98c 100644 (file)
@@ -56,7 +56,7 @@
 
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
   class bad_weak_ptr : public std::exception
   {
diff --git a/libstdc++-v3/include/tr1/ccomplex b/libstdc++-v3/include/tr1/ccomplex
new file mode 100644 (file)
index 0000000..a919645
--- /dev/null
@@ -0,0 +1,39 @@
+// TR1 ccomplex -*- C++ -*-
+
+// Copyright (C) 2007 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// 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.
+
+/** @file tr1/ccomplex
+ *  This is a TR1 C++ Library header. 
+ */
+
+#ifndef _TR1_CCOMPLEX
+#define _TR1_CCOMPLEX 1
+
+#include <tr1/complex>
+
+#endif
index 8ddfa89..7d428f9 100644 (file)
@@ -44,7 +44,7 @@
 // namespace std::tr1
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
   using ::isblank;
 
index ddcce74..a468526 100644 (file)
@@ -55,7 +55,7 @@
 // namespace std::tr1
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
   // types
   using ::fenv_t;
index 03bdd30..398ab1d 100644 (file)
@@ -46,7 +46,7 @@
 // namespace std::tr1
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
   // types
   using ::imaxdiv_t;
index f08e86f..65115e6 100644 (file)
 // namespace std::tr1
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
 #if _GLIBCXX_USE_C99_MATH_TR1
 
@@ -375,10 +375,10 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
       __gnu_cxx::__enable_if<std::__is_floating<_Tp>::__value
                              || std::__is_floating<_Up>::__value,
                             typename
-                            std::tr1::__promote_2<_Tp, _Up>::__type>::__type
+                            std::_GLIBCXX_TR1::__promote_2<_Tp, _Up>::__type>::__type
       atan2(_Tp __y, _Up __x)
       {
-       typedef typename std::tr1::__promote_2<_Tp, _Up>::__type __type;
+       typedef typename std::_GLIBCXX_TR1::__promote_2<_Tp, _Up>::__type __type;
        return std::atan2(__type(__y), __type(__x));
       }
   } // namespace __detail
index 7d098f8..fb13cde 100644 (file)
@@ -39,7 +39,7 @@
 // namespace std::tr1
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
   template<typename _Tp, bool = is_integral<_Tp>::value>
     struct __promote
index 0817ef7..666cae9 100644 (file)
@@ -1,6 +1,6 @@
 // TR1 complex -*- C++ -*-
 
-// Copyright (C) 2006 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007 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
 #ifndef _TR1_COMPLEX
 #define _TR1_COMPLEX 1
 
-#include "../complex"
+#include <complex>
 #include <tr1/common.h>
 
 // namespace std::tr1
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
   // Forward declarations.
   template<typename _Tp> std::complex<_Tp> acos(const std::complex<_Tp>&);
@@ -59,7 +59,7 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
     inline std::complex<_Tp>
     __complex_acos(const std::complex<_Tp>& __z)
     {
-      const std::complex<_Tp> __t = std::tr1::asin(__z);
+      const std::complex<_Tp> __t = std::_GLIBCXX_TR1::asin(__z);
       const _Tp __pi_2 = 1.5707963267948966192313216916397514L;
       return std::complex<_Tp>(__pi_2 - __t.real(), -__t.imag());
     }
@@ -96,7 +96,7 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
     __complex_asin(const std::complex<_Tp>& __z)
     {
       std::complex<_Tp> __t(-__z.imag(), __z.real());
-      __t = std::tr1::asinh(__t);
+      __t = std::_GLIBCXX_TR1::asinh(__t);
       return std::complex<_Tp>(__t.imag(), -__t.real());
     }
 
diff --git a/libstdc++-v3/include/tr1/complex.h b/libstdc++-v3/include/tr1/complex.h
new file mode 100644 (file)
index 0000000..12fadec
--- /dev/null
@@ -0,0 +1,39 @@
+// TR1 complex.h -*- C++ -*-
+
+// Copyright (C) 2007 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// 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.
+
+/** @file tr1/complex.h
+ *  This is a TR1 C++ Library header. 
+ */
+
+#ifndef _TR1_COMPLEX_H
+#define _TR1_COMPLEX_H 1
+
+#include <tr1/ccomplex>
+
+#endif
index af5a90f..a8dce52 100644 (file)
@@ -46,7 +46,7 @@
 // namespace std::tr1
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
   using ::int8_t;
   using ::int16_t;
index 1cf41b5..b016a15 100644 (file)
@@ -40,7 +40,7 @@
 // namespace std::tr1
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
 #if _GLIBCXX_USE_C99
   using std::snprintf;
index f7f8d7d..5096fa8 100644 (file)
@@ -43,7 +43,7 @@
 // namespace std::tr1
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
 #if _GLIBCXX_USE_C99
 
index b918b37..abc88bb 100644 (file)
@@ -43,7 +43,7 @@
 // namespace std::tr1
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
 #if _GLIBCXX_HAVE_WCSTOF
   using std::wcstof;
index 7cc7a36..f6e99be 100644 (file)
@@ -43,7 +43,7 @@
 // namespace std::tr1
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
 #if _GLIBCXX_HAVE_ISWBLANK
   using std::iswblank;
index f3cc78d..736b770 100644 (file)
 
 #pragma GCC system_header
 
-#include "../functional"
+#include <cstdlib>              // for std::abort
+#include <cmath>                // for std::frexp
+#include <string>               // for std::tr1::hash
+#include <functional>
 #include <typeinfo>
+#include <tr1/tuple>
 #include <tr1/type_traits>
 #include <ext/type_traits.h>
-#include <cstdlib>  // for std::abort
-#include <tr1/tuple>
 
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
   template<typename _MemberPointer>
     class _Mem_fn;
@@ -636,7 +638,7 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
       typename result<_Mu(_Arg, _Tuple)>::type
       operator()(const volatile _Arg&, const _Tuple& __tuple) const volatile
       {
-        return ::std::tr1::get<(is_placeholder<_Arg>::value - 1)>(__tuple);
+        return ::std::_GLIBCXX_TR1::get<(is_placeholder<_Arg>::value - 1)>(__tuple);
       }
     };
 
index 3e592b4..9c6f69a 100644 (file)
@@ -40,7 +40,7 @@
 
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
   // Definition of default hash function std::tr1::hash<>.  The types for
   // which std::tr1::hash<T> is defined is in clause 6.3.3. of the PDTR.
index c9c1e83..3772e15 100644 (file)
@@ -1,6 +1,6 @@
 // TR1 functional -*- C++ -*-
 
-// Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
 // Written by Douglas Gregor <doug.gregor -at- gmail.com>
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
@@ -35,7 +35,7 @@
 
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
 template<typename _Res _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
   struct _Weak_result_type_impl<_Res(_GLIBCXX_TEMPLATE_ARGS)>
@@ -547,7 +547,7 @@ class _Function_handler<_Res(_GLIBCXX_TEMPLATE_ARGS), _Member _Class::*>
   static _Res
   _M_invoke(const _Any_data& __functor _GLIBCXX_COMMA _GLIBCXX_PARAMS)
   {
-    return std::tr1::mem_fn(_Base::_M_get_pointer(__functor)->__value)
+    return std::_GLIBCXX_TR1::mem_fn(_Base::_M_get_pointer(__functor)->__value)
              (_GLIBCXX_ARGS);
   }
 };
@@ -586,7 +586,7 @@ class _Function_handler<void(_GLIBCXX_TEMPLATE_ARGS), _Member _Class::*>
   static void
   _M_invoke(const _Any_data& __functor _GLIBCXX_COMMA _GLIBCXX_PARAMS)
   {
-    std::tr1::mem_fn(_Base::_M_get_pointer(__functor)->__value)
+    std::_GLIBCXX_TR1::mem_fn(_Base::_M_get_pointer(__functor)->__value)
       (_GLIBCXX_ARGS);
   }
 };
index 14742ab..d6115dd 100644 (file)
@@ -1,6 +1,6 @@
 // Internal header for TR1 unordered_set and unordered_map -*- C++ -*-
 
-// Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2007 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
@@ -64,7 +64,7 @@
 
 namespace std
 { 
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
   // Class template _Hashtable, class definition.
   
@@ -382,10 +382,10 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
                       typename _Hashtable::_Hash_code_type);
 
       std::pair<iterator, bool>
-      _M_insert(const value_type&, std::tr1::true_type);
+      _M_insert(const value_type&, std::_GLIBCXX_TR1::true_type);
 
       iterator
-      _M_insert(const value_type&, std::tr1::false_type);
+      _M_insert(const value_type&, std::_GLIBCXX_TR1::false_type);
 
       void
       _M_erase_node(_Node*, _Node**);
@@ -394,7 +394,7 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
       // Insert and erase
       _Insert_Return_Type
       insert(const value_type& __v) 
-      { return _M_insert(__v, std::tr1::integral_constant<bool,
+      { return _M_insert(__v, std::_GLIBCXX_TR1::integral_constant<bool,
                         __unique_keys>()); }
 
       iterator
@@ -908,7 +908,7 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
                                  __chc, __cit, __uk>::iterator, bool>
     _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
               _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
-    _M_insert(const value_type& __v, std::tr1::true_type)
+    _M_insert(const value_type& __v, std::_GLIBCXX_TR1::true_type)
     {
       const key_type& __k = this->_M_extract(__v);
       typename _Hashtable::_Hash_code_type __code = this->_M_hash_code(__k);
@@ -929,7 +929,7 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
                        __chc, __cit, __uk>::iterator
     _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
               _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
-    _M_insert(const value_type& __v, std::tr1::false_type)
+    _M_insert(const value_type& __v, std::_GLIBCXX_TR1::false_type)
     {
       std::pair<bool, std::size_t> __do_rehash
        = _M_rehash_policy._M_need_rehash(_M_bucket_count,
index 568d2ff..dc09cca 100644 (file)
@@ -41,7 +41,7 @@
 
 namespace std
 { 
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 namespace __detail
 {
   // Helper function: return distance(first, last) for forward
index 36fb2fd..dcf7537 100644 (file)
@@ -1,6 +1,6 @@
 // TR1 math.h -*- C++ -*-
 
-// Copyright (C) 2006 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007 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
 
 #if _GLIBCXX_USE_C99_MATH_TR1
 
-using std::tr1::acos;
-using std::tr1::acosh;
-using std::tr1::asin;
-using std::tr1::asinh;
-using std::tr1::atan;
-using std::tr1::atan2;
-using std::tr1::atanh;
-using std::tr1::cbrt;
-using std::tr1::ceil;
-using std::tr1::copysign;
-using std::tr1::cos;
-using std::tr1::cosh;
-using std::tr1::erf;
-using std::tr1::erfc;
-using std::tr1::exp;
-using std::tr1::exp2;
-using std::tr1::expm1;
-using std::tr1::fabs;
-using std::tr1::fdim;
-using std::tr1::floor;
-using std::tr1::fma;
-using std::tr1::fmax;
-using std::tr1::fmin;
-using std::tr1::fmod;
-using std::tr1::frexp;
-using std::tr1::hypot;
-using std::tr1::ilogb;
-using std::tr1::ldexp;
-using std::tr1::lgamma;
-using std::tr1::llrint;
-using std::tr1::llround;
-using std::tr1::log;
-using std::tr1::log10;
-using std::tr1::log1p;
-using std::tr1::log2;
-using std::tr1::logb;
-using std::tr1::lrint;
-using std::tr1::lround;
-using std::tr1::nearbyint;
-using std::tr1::nextafter;
-using std::tr1::nexttoward;
-using std::tr1::pow;
-using std::tr1::remainder;
-using std::tr1::remquo;
-using std::tr1::rint;
-using std::tr1::round;
-using std::tr1::scalbln;
-using std::tr1::scalbn;
-using std::tr1::sin;
-using std::tr1::sinh;
-using std::tr1::sqrt;
-using std::tr1::tan;
-using std::tr1::tanh;
-using std::tr1::tgamma;
-using std::tr1::trunc;
+using std::_GLIBCXX_TR1::acos;
+using std::_GLIBCXX_TR1::acosh;
+using std::_GLIBCXX_TR1::asin;
+using std::_GLIBCXX_TR1::asinh;
+using std::_GLIBCXX_TR1::atan;
+using std::_GLIBCXX_TR1::atan2;
+using std::_GLIBCXX_TR1::atanh;
+using std::_GLIBCXX_TR1::cbrt;
+using std::_GLIBCXX_TR1::ceil;
+using std::_GLIBCXX_TR1::copysign;
+using std::_GLIBCXX_TR1::cos;
+using std::_GLIBCXX_TR1::cosh;
+using std::_GLIBCXX_TR1::erf;
+using std::_GLIBCXX_TR1::erfc;
+using std::_GLIBCXX_TR1::exp;
+using std::_GLIBCXX_TR1::exp2;
+using std::_GLIBCXX_TR1::expm1;
+using std::_GLIBCXX_TR1::fabs;
+using std::_GLIBCXX_TR1::fdim;
+using std::_GLIBCXX_TR1::floor;
+using std::_GLIBCXX_TR1::fma;
+using std::_GLIBCXX_TR1::fmax;
+using std::_GLIBCXX_TR1::fmin;
+using std::_GLIBCXX_TR1::fmod;
+using std::_GLIBCXX_TR1::frexp;
+using std::_GLIBCXX_TR1::hypot;
+using std::_GLIBCXX_TR1::ilogb;
+using std::_GLIBCXX_TR1::ldexp;
+using std::_GLIBCXX_TR1::lgamma;
+using std::_GLIBCXX_TR1::llrint;
+using std::_GLIBCXX_TR1::llround;
+using std::_GLIBCXX_TR1::log;
+using std::_GLIBCXX_TR1::log10;
+using std::_GLIBCXX_TR1::log1p;
+using std::_GLIBCXX_TR1::log2;
+using std::_GLIBCXX_TR1::logb;
+using std::_GLIBCXX_TR1::lrint;
+using std::_GLIBCXX_TR1::lround;
+using std::_GLIBCXX_TR1::nearbyint;
+using std::_GLIBCXX_TR1::nextafter;
+using std::_GLIBCXX_TR1::nexttoward;
+using std::_GLIBCXX_TR1::pow;
+using std::_GLIBCXX_TR1::remainder;
+using std::_GLIBCXX_TR1::remquo;
+using std::_GLIBCXX_TR1::rint;
+using std::_GLIBCXX_TR1::round;
+using std::_GLIBCXX_TR1::scalbln;
+using std::_GLIBCXX_TR1::scalbn;
+using std::_GLIBCXX_TR1::sin;
+using std::_GLIBCXX_TR1::sinh;
+using std::_GLIBCXX_TR1::sqrt;
+using std::_GLIBCXX_TR1::tan;
+using std::_GLIBCXX_TR1::tanh;
+using std::_GLIBCXX_TR1::tgamma;
+using std::_GLIBCXX_TR1::trunc;
 
 #endif
 
index 0df7b9d..7413410 100644 (file)
 #ifndef _TR1_MEMORY
 #define _TR1_MEMORY 1
 
-#include "../memory"
-#include <functional>           // std::less
-#include <exception>            // std::exception
-#include <new>                  // std::bad_alloc
-#include <typeinfo>             // std::type_info in get_deleter
-#include <cstddef>              // std::size_t
+#include <cstddef>             // std::size_t
+#include <cstdlib>             // std::abort
+#include <exception>           // std::exception
+#include <new>                 // std::bad_alloc
+#include <typeinfo>            // std::type_info in get_deleter
 #include <bits/stl_algobase.h>  // std::swap
-#include <iosfwd>               // std::basic_ostream
-#include <cstdlib>              // std::abort
+#include <iosfwd>              // std::basic_ostream
+#include <memory>
 
 #include <ext/atomicity.h>
 #include <ext/concurrence.h>
 #include <bits/functexcept.h>
+#include <bits/stl_function.h>         // std::less
 #include <debug/debug.h>
-#include <tr1/type_traits>  // tr1::add_reference
 
+#include <tr1/type_traits>     // tr1::add_reference
 #include <tr1/boost_shared_ptr.h>
 
 #endif
index e8483c7..bfdd901 100644 (file)
@@ -48,7 +48,7 @@
 
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
   // [5.1] Random number generation
 
index 3962816..c5ae933 100644 (file)
@@ -33,7 +33,7 @@
 
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
   /*
    * (Further) implementation-space details.
@@ -322,7 +322,7 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
       if (__value == 0)
        __value = 19780503;
 
-      std::tr1::linear_congruential<unsigned long, 40014, 0, 2147483563>
+      std::_GLIBCXX_TR1::linear_congruential<unsigned long, 40014, 0, 2147483563>
        __lcg(__value);
 
       for (int __i = 0; __i < long_lag; ++__i)
@@ -441,7 +441,7 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
     {
       for (int __j = 0; __j < __n; ++__j)
 #if _GLIBCXX_USE_C99_MATH_TR1
-       _M_npows[__j] = std::tr1::ldexp(_RealType(1), -__w + __j * 32);
+       _M_npows[__j] = std::_GLIBCXX_TR1::ldexp(_RealType(1), -__w + __j * 32);
 #else
         _M_npows[__j] = std::pow(_RealType(2), -__w + __j * 32);
 #endif
@@ -457,7 +457,7 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
 
       // _GLIBCXX_RESOLVE_LIB_DEFECTS
       // 512. Seeding subtract_with_carry_01 from a single unsigned long.
-      std::tr1::linear_congruential<unsigned long, 40014, 0, 2147483563>
+      std::_GLIBCXX_TR1::linear_congruential<unsigned long, 40014, 0, 2147483563>
        __lcg(__value);
 
       this->seed(__lcg);
@@ -869,13 +869,13 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
        {
          const _RealType __m = std::floor(_M_mean);
          _M_lm_thr = std::log(_M_mean);
-         _M_lfm = std::tr1::lgamma(__m + 1);
+         _M_lfm = std::_GLIBCXX_TR1::lgamma(__m + 1);
          _M_sm = std::sqrt(__m);
 
          const _RealType __pi_4 = 0.7853981633974483096156608458198757L;
          const _RealType __dx = std::sqrt(2 * __m * std::log(32 * __m
                                                              / __pi_4));
-         _M_d = std::tr1::round(std::max(_RealType(6),
+         _M_d = std::_GLIBCXX_TR1::round(std::max(_RealType(6),
                                          std::min(__m, __dx)));
          const _RealType __cx = 2 * __m + _M_d;
          _M_scx = std::sqrt(__cx / 2);
@@ -972,7 +972,7 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
                  }
 
                __reject = (__w - __e - __x * _M_lm_thr
-                           > _M_lfm - std::tr1::lgamma(__x + __m + 1));
+                           > _M_lfm - std::_GLIBCXX_TR1::lgamma(__x + __m + 1));
 
                __reject |= __x + __m >= __thr;
 
@@ -1063,11 +1063,11 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
          const _RealType __d1x =
            std::sqrt(__np * __1p * std::log(32 * __np
                                             / (81 * __pi_4 * __1p)));
-         _M_d1 = std::tr1::round(std::max(_RealType(1), __d1x));
+         _M_d1 = std::_GLIBCXX_TR1::round(std::max(_RealType(1), __d1x));
          const _RealType __d2x =
            std::sqrt(__np * __1p * std::log(32 * _M_t * __1p
                                             / (__pi_4 * __pa)));
-         _M_d2 = std::tr1::round(std::max(_RealType(1), __d2x));
+         _M_d2 = std::_GLIBCXX_TR1::round(std::max(_RealType(1), __d2x));
          
          // sqrt(pi / 2)
          const _RealType __spi_2 = 1.2533141373155002512078826424055226L;
@@ -1083,8 +1083,8 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
          const _RealType __s2s = _M_s2 * _M_s2;
          _M_s = (_M_a123 + 2 * __s2s / _M_d2
                  * std::exp(-_M_d2 * _M_d2 / (2 * __s2s)));
-         _M_lf = (std::tr1::lgamma(__np + 1)
-                  + std::tr1::lgamma(_M_t - __np + 1));
+         _M_lf = (std::_GLIBCXX_TR1::lgamma(__np + 1)
+                  + std::_GLIBCXX_TR1::lgamma(_M_t - __np + 1));
          _M_lp1p = std::log(__pa / __1p);
 
          _M_q = -std::log(1 - (__p12 - __pa) / __1p);
@@ -1212,8 +1212,8 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
                if (!__reject)
                  {
                    const _RealType __lfx =
-                     std::tr1::lgamma(__np + __x + 1)
-                     + std::tr1::lgamma(_M_t - (__np + __x) + 1);
+                     std::_GLIBCXX_TR1::lgamma(__np + __x + 1)
+                     + std::_GLIBCXX_TR1::lgamma(_M_t - (__np + __x) + 1);
                    __reject = __v > _M_lf - __lfx + __x * _M_lp1p;
                  }
 
index 6c0efbc..96e2b27 100644 (file)
@@ -40,7 +40,7 @@
 
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
 template<typename _Tp>
   class reference_wrapper;
diff --git a/libstdc++-v3/include/tr1/regex b/libstdc++-v3/include/tr1/regex
new file mode 100644 (file)
index 0000000..6560060
--- /dev/null
@@ -0,0 +1,37 @@
+// class template regex -*- C++ -*-
+
+// Copyright (C) 2007 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// 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.
+
+/** @file tr1/regex
+*  This is a TR1 C++ Library header.
+*/
+
+#ifndef _TR1_REGEX
+#define _TR1_REGEX 1
+
+#endif
index 3f09dd5..9410d71 100644 (file)
@@ -1,6 +1,6 @@
 // TR1 code repetition -*- C++ -*-
 
-// Copyright (C) 2005 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2007 Free Software Foundation, Inc.
 // Written by Douglas Gregor <doug.gregor -at- gmail.com>
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 #define _GLIBCXX_ARGS_SHIFTED
 #define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1;
 #define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1)
-#define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::tr1::get<0>(__tuple)
+#define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::_GLIBCXX_TR1::get<0>(__tuple)
 #define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) typename result_of<_Mu<_T1> _CV(_T1, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type
-#define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))
+#define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS))
 #define _GLIBCXX_TUPLE_ADD_CREF typename __add_c_ref<_T1>::type __a1
 #define _GLIBCXX_TUPLE_COPY_INIT _M_arg1(__in._M_arg1)
 #define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1;
 #define _GLIBCXX_ARGS_SHIFTED __a1
 #define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; _T2 _M_arg2;
 #define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1), _M_arg2(__a2)
-#define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::tr1::get<0>(__tuple), ::std::tr1::get<1>(__tuple)
+#define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::_GLIBCXX_TR1::get<0>(__tuple), ::std::_GLIBCXX_TR1::get<1>(__tuple)
 #define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) typename result_of<_Mu<_T1> _CV(_T1, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T2> _CV(_T2, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type
-#define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))
+#define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS))
 #define _GLIBCXX_TUPLE_ADD_CREF typename __add_c_ref<_T1>::type __a1, typename __add_c_ref<_T2>::type __a2
 #define _GLIBCXX_TUPLE_COPY_INIT _M_arg1(__in._M_arg1), _M_arg2(__in._M_arg2)
 #define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1; _M_arg2 = __in._M_arg2;
 #define _GLIBCXX_ARGS_SHIFTED __a1, __a2
 #define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; _T2 _M_arg2; _T3 _M_arg3;
 #define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1), _M_arg2(__a2), _M_arg3(__a3)
-#define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::tr1::get<0>(__tuple), ::std::tr1::get<1>(__tuple), ::std::tr1::get<2>(__tuple)
+#define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::_GLIBCXX_TR1::get<0>(__tuple), ::std::_GLIBCXX_TR1::get<1>(__tuple), ::std::_GLIBCXX_TR1::get<2>(__tuple)
 #define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) typename result_of<_Mu<_T1> _CV(_T1, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T2> _CV(_T2, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T3> _CV(_T3, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type
-#define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))
+#define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS))
 #define _GLIBCXX_TUPLE_ADD_CREF typename __add_c_ref<_T1>::type __a1, typename __add_c_ref<_T2>::type __a2, typename __add_c_ref<_T3>::type __a3
 #define _GLIBCXX_TUPLE_COPY_INIT _M_arg1(__in._M_arg1), _M_arg2(__in._M_arg2), _M_arg3(__in._M_arg3)
 #define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1; _M_arg2 = __in._M_arg2; _M_arg3 = __in._M_arg3;
 #define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3
 #define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; _T2 _M_arg2; _T3 _M_arg3; _T4 _M_arg4;
 #define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1), _M_arg2(__a2), _M_arg3(__a3), _M_arg4(__a4)
-#define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::tr1::get<0>(__tuple), ::std::tr1::get<1>(__tuple), ::std::tr1::get<2>(__tuple), ::std::tr1::get<3>(__tuple)
+#define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::_GLIBCXX_TR1::get<0>(__tuple), ::std::_GLIBCXX_TR1::get<1>(__tuple), ::std::_GLIBCXX_TR1::get<2>(__tuple), ::std::_GLIBCXX_TR1::get<3>(__tuple)
 #define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) typename result_of<_Mu<_T1> _CV(_T1, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T2> _CV(_T2, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T3> _CV(_T3, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T4> _CV(_T4, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type
-#define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T4>()(_M_arg4, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))
+#define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T4>()(_M_arg4, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS))
 #define _GLIBCXX_TUPLE_ADD_CREF typename __add_c_ref<_T1>::type __a1, typename __add_c_ref<_T2>::type __a2, typename __add_c_ref<_T3>::type __a3, typename __add_c_ref<_T4>::type __a4
 #define _GLIBCXX_TUPLE_COPY_INIT _M_arg1(__in._M_arg1), _M_arg2(__in._M_arg2), _M_arg3(__in._M_arg3), _M_arg4(__in._M_arg4)
 #define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1; _M_arg2 = __in._M_arg2; _M_arg3 = __in._M_arg3; _M_arg4 = __in._M_arg4;
 #define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4
 #define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; _T2 _M_arg2; _T3 _M_arg3; _T4 _M_arg4; _T5 _M_arg5;
 #define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1), _M_arg2(__a2), _M_arg3(__a3), _M_arg4(__a4), _M_arg5(__a5)
-#define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::tr1::get<0>(__tuple), ::std::tr1::get<1>(__tuple), ::std::tr1::get<2>(__tuple), ::std::tr1::get<3>(__tuple), ::std::tr1::get<4>(__tuple)
+#define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::_GLIBCXX_TR1::get<0>(__tuple), ::std::_GLIBCXX_TR1::get<1>(__tuple), ::std::_GLIBCXX_TR1::get<2>(__tuple), ::std::_GLIBCXX_TR1::get<3>(__tuple), ::std::_GLIBCXX_TR1::get<4>(__tuple)
 #define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) typename result_of<_Mu<_T1> _CV(_T1, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T2> _CV(_T2, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T3> _CV(_T3, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T4> _CV(_T4, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T5> _CV(_T5, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type
-#define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T4>()(_M_arg4, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T5>()(_M_arg5, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))
+#define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T4>()(_M_arg4, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T5>()(_M_arg5, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS))
 #define _GLIBCXX_TUPLE_ADD_CREF typename __add_c_ref<_T1>::type __a1, typename __add_c_ref<_T2>::type __a2, typename __add_c_ref<_T3>::type __a3, typename __add_c_ref<_T4>::type __a4, typename __add_c_ref<_T5>::type __a5
 #define _GLIBCXX_TUPLE_COPY_INIT _M_arg1(__in._M_arg1), _M_arg2(__in._M_arg2), _M_arg3(__in._M_arg3), _M_arg4(__in._M_arg4), _M_arg5(__in._M_arg5)
 #define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1; _M_arg2 = __in._M_arg2; _M_arg3 = __in._M_arg3; _M_arg4 = __in._M_arg4; _M_arg5 = __in._M_arg5;
 #define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5
 #define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; _T2 _M_arg2; _T3 _M_arg3; _T4 _M_arg4; _T5 _M_arg5; _T6 _M_arg6;
 #define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1), _M_arg2(__a2), _M_arg3(__a3), _M_arg4(__a4), _M_arg5(__a5), _M_arg6(__a6)
-#define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::tr1::get<0>(__tuple), ::std::tr1::get<1>(__tuple), ::std::tr1::get<2>(__tuple), ::std::tr1::get<3>(__tuple), ::std::tr1::get<4>(__tuple), ::std::tr1::get<5>(__tuple)
+#define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::_GLIBCXX_TR1::get<0>(__tuple), ::std::_GLIBCXX_TR1::get<1>(__tuple), ::std::_GLIBCXX_TR1::get<2>(__tuple), ::std::_GLIBCXX_TR1::get<3>(__tuple), ::std::_GLIBCXX_TR1::get<4>(__tuple), ::std::_GLIBCXX_TR1::get<5>(__tuple)
 #define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) typename result_of<_Mu<_T1> _CV(_T1, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T2> _CV(_T2, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T3> _CV(_T3, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T4> _CV(_T4, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T5> _CV(_T5, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T6> _CV(_T6, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type
-#define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T4>()(_M_arg4, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T5>()(_M_arg5, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T6>()(_M_arg6, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))
+#define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T4>()(_M_arg4, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T5>()(_M_arg5, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T6>()(_M_arg6, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS))
 #define _GLIBCXX_TUPLE_ADD_CREF typename __add_c_ref<_T1>::type __a1, typename __add_c_ref<_T2>::type __a2, typename __add_c_ref<_T3>::type __a3, typename __add_c_ref<_T4>::type __a4, typename __add_c_ref<_T5>::type __a5, typename __add_c_ref<_T6>::type __a6
 #define _GLIBCXX_TUPLE_COPY_INIT _M_arg1(__in._M_arg1), _M_arg2(__in._M_arg2), _M_arg3(__in._M_arg3), _M_arg4(__in._M_arg4), _M_arg5(__in._M_arg5), _M_arg6(__in._M_arg6)
 #define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1; _M_arg2 = __in._M_arg2; _M_arg3 = __in._M_arg3; _M_arg4 = __in._M_arg4; _M_arg5 = __in._M_arg5; _M_arg6 = __in._M_arg6;
 #define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6
 #define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; _T2 _M_arg2; _T3 _M_arg3; _T4 _M_arg4; _T5 _M_arg5; _T6 _M_arg6; _T7 _M_arg7;
 #define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1), _M_arg2(__a2), _M_arg3(__a3), _M_arg4(__a4), _M_arg5(__a5), _M_arg6(__a6), _M_arg7(__a7)
-#define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::tr1::get<0>(__tuple), ::std::tr1::get<1>(__tuple), ::std::tr1::get<2>(__tuple), ::std::tr1::get<3>(__tuple), ::std::tr1::get<4>(__tuple), ::std::tr1::get<5>(__tuple), ::std::tr1::get<6>(__tuple)
+#define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::_GLIBCXX_TR1::get<0>(__tuple), ::std::_GLIBCXX_TR1::get<1>(__tuple), ::std::_GLIBCXX_TR1::get<2>(__tuple), ::std::_GLIBCXX_TR1::get<3>(__tuple), ::std::_GLIBCXX_TR1::get<4>(__tuple), ::std::_GLIBCXX_TR1::get<5>(__tuple), ::std::_GLIBCXX_TR1::get<6>(__tuple)
 #define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) typename result_of<_Mu<_T1> _CV(_T1, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T2> _CV(_T2, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T3> _CV(_T3, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T4> _CV(_T4, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T5> _CV(_T5, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T6> _CV(_T6, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T7> _CV(_T7, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type
-#define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T4>()(_M_arg4, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T5>()(_M_arg5, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T6>()(_M_arg6, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T7>()(_M_arg7, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))
+#define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T4>()(_M_arg4, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T5>()(_M_arg5, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T6>()(_M_arg6, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T7>()(_M_arg7, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS))
 #define _GLIBCXX_TUPLE_ADD_CREF typename __add_c_ref<_T1>::type __a1, typename __add_c_ref<_T2>::type __a2, typename __add_c_ref<_T3>::type __a3, typename __add_c_ref<_T4>::type __a4, typename __add_c_ref<_T5>::type __a5, typename __add_c_ref<_T6>::type __a6, typename __add_c_ref<_T7>::type __a7
 #define _GLIBCXX_TUPLE_COPY_INIT _M_arg1(__in._M_arg1), _M_arg2(__in._M_arg2), _M_arg3(__in._M_arg3), _M_arg4(__in._M_arg4), _M_arg5(__in._M_arg5), _M_arg6(__in._M_arg6), _M_arg7(__in._M_arg7)
 #define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1; _M_arg2 = __in._M_arg2; _M_arg3 = __in._M_arg3; _M_arg4 = __in._M_arg4; _M_arg5 = __in._M_arg5; _M_arg6 = __in._M_arg6; _M_arg7 = __in._M_arg7;
 #define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7
 #define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; _T2 _M_arg2; _T3 _M_arg3; _T4 _M_arg4; _T5 _M_arg5; _T6 _M_arg6; _T7 _M_arg7; _T8 _M_arg8;
 #define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1), _M_arg2(__a2), _M_arg3(__a3), _M_arg4(__a4), _M_arg5(__a5), _M_arg6(__a6), _M_arg7(__a7), _M_arg8(__a8)
-#define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::tr1::get<0>(__tuple), ::std::tr1::get<1>(__tuple), ::std::tr1::get<2>(__tuple), ::std::tr1::get<3>(__tuple), ::std::tr1::get<4>(__tuple), ::std::tr1::get<5>(__tuple), ::std::tr1::get<6>(__tuple), ::std::tr1::get<7>(__tuple)
+#define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::_GLIBCXX_TR1::get<0>(__tuple), ::std::_GLIBCXX_TR1::get<1>(__tuple), ::std::_GLIBCXX_TR1::get<2>(__tuple), ::std::_GLIBCXX_TR1::get<3>(__tuple), ::std::_GLIBCXX_TR1::get<4>(__tuple), ::std::_GLIBCXX_TR1::get<5>(__tuple), ::std::_GLIBCXX_TR1::get<6>(__tuple), ::std::_GLIBCXX_TR1::get<7>(__tuple)
 #define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) typename result_of<_Mu<_T1> _CV(_T1, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T2> _CV(_T2, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T3> _CV(_T3, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T4> _CV(_T4, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T5> _CV(_T5, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T6> _CV(_T6, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T7> _CV(_T7, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T8> _CV(_T8, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type
-#define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T4>()(_M_arg4, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T5>()(_M_arg5, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T6>()(_M_arg6, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T7>()(_M_arg7, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T8>()(_M_arg8, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))
+#define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T4>()(_M_arg4, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T5>()(_M_arg5, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T6>()(_M_arg6, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T7>()(_M_arg7, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T8>()(_M_arg8, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS))
 #define _GLIBCXX_TUPLE_ADD_CREF typename __add_c_ref<_T1>::type __a1, typename __add_c_ref<_T2>::type __a2, typename __add_c_ref<_T3>::type __a3, typename __add_c_ref<_T4>::type __a4, typename __add_c_ref<_T5>::type __a5, typename __add_c_ref<_T6>::type __a6, typename __add_c_ref<_T7>::type __a7, typename __add_c_ref<_T8>::type __a8
 #define _GLIBCXX_TUPLE_COPY_INIT _M_arg1(__in._M_arg1), _M_arg2(__in._M_arg2), _M_arg3(__in._M_arg3), _M_arg4(__in._M_arg4), _M_arg5(__in._M_arg5), _M_arg6(__in._M_arg6), _M_arg7(__in._M_arg7), _M_arg8(__in._M_arg8)
 #define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1; _M_arg2 = __in._M_arg2; _M_arg3 = __in._M_arg3; _M_arg4 = __in._M_arg4; _M_arg5 = __in._M_arg5; _M_arg6 = __in._M_arg6; _M_arg7 = __in._M_arg7; _M_arg8 = __in._M_arg8;
 #define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8
 #define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; _T2 _M_arg2; _T3 _M_arg3; _T4 _M_arg4; _T5 _M_arg5; _T6 _M_arg6; _T7 _M_arg7; _T8 _M_arg8; _T9 _M_arg9;
 #define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1), _M_arg2(__a2), _M_arg3(__a3), _M_arg4(__a4), _M_arg5(__a5), _M_arg6(__a6), _M_arg7(__a7), _M_arg8(__a8), _M_arg9(__a9)
-#define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::tr1::get<0>(__tuple), ::std::tr1::get<1>(__tuple), ::std::tr1::get<2>(__tuple), ::std::tr1::get<3>(__tuple), ::std::tr1::get<4>(__tuple), ::std::tr1::get<5>(__tuple), ::std::tr1::get<6>(__tuple), ::std::tr1::get<7>(__tuple), ::std::tr1::get<8>(__tuple)
+#define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::_GLIBCXX_TR1::get<0>(__tuple), ::std::_GLIBCXX_TR1::get<1>(__tuple), ::std::_GLIBCXX_TR1::get<2>(__tuple), ::std::_GLIBCXX_TR1::get<3>(__tuple), ::std::_GLIBCXX_TR1::get<4>(__tuple), ::std::_GLIBCXX_TR1::get<5>(__tuple), ::std::_GLIBCXX_TR1::get<6>(__tuple), ::std::_GLIBCXX_TR1::get<7>(__tuple), ::std::_GLIBCXX_TR1::get<8>(__tuple)
 #define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) typename result_of<_Mu<_T1> _CV(_T1, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T2> _CV(_T2, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T3> _CV(_T3, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T4> _CV(_T4, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T5> _CV(_T5, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T6> _CV(_T6, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T7> _CV(_T7, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T8> _CV(_T8, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T9> _CV(_T9, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type
-#define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T4>()(_M_arg4, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T5>()(_M_arg5, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T6>()(_M_arg6, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T7>()(_M_arg7, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T8>()(_M_arg8, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T9>()(_M_arg9, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))
+#define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T4>()(_M_arg4, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T5>()(_M_arg5, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T6>()(_M_arg6, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T7>()(_M_arg7, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T8>()(_M_arg8, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T9>()(_M_arg9, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS))
 #define _GLIBCXX_TUPLE_ADD_CREF typename __add_c_ref<_T1>::type __a1, typename __add_c_ref<_T2>::type __a2, typename __add_c_ref<_T3>::type __a3, typename __add_c_ref<_T4>::type __a4, typename __add_c_ref<_T5>::type __a5, typename __add_c_ref<_T6>::type __a6, typename __add_c_ref<_T7>::type __a7, typename __add_c_ref<_T8>::type __a8, typename __add_c_ref<_T9>::type __a9
 #define _GLIBCXX_TUPLE_COPY_INIT _M_arg1(__in._M_arg1), _M_arg2(__in._M_arg2), _M_arg3(__in._M_arg3), _M_arg4(__in._M_arg4), _M_arg5(__in._M_arg5), _M_arg6(__in._M_arg6), _M_arg7(__in._M_arg7), _M_arg8(__in._M_arg8), _M_arg9(__in._M_arg9)
 #define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1; _M_arg2 = __in._M_arg2; _M_arg3 = __in._M_arg3; _M_arg4 = __in._M_arg4; _M_arg5 = __in._M_arg5; _M_arg6 = __in._M_arg6; _M_arg7 = __in._M_arg7; _M_arg8 = __in._M_arg8; _M_arg9 = __in._M_arg9;
 #define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9
 #define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; _T2 _M_arg2; _T3 _M_arg3; _T4 _M_arg4; _T5 _M_arg5; _T6 _M_arg6; _T7 _M_arg7; _T8 _M_arg8; _T9 _M_arg9; _T10 _M_arg10;
 #define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1), _M_arg2(__a2), _M_arg3(__a3), _M_arg4(__a4), _M_arg5(__a5), _M_arg6(__a6), _M_arg7(__a7), _M_arg8(__a8), _M_arg9(__a9), _M_arg10(__a10)
-#define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::tr1::get<0>(__tuple), ::std::tr1::get<1>(__tuple), ::std::tr1::get<2>(__tuple), ::std::tr1::get<3>(__tuple), ::std::tr1::get<4>(__tuple), ::std::tr1::get<5>(__tuple), ::std::tr1::get<6>(__tuple), ::std::tr1::get<7>(__tuple), ::std::tr1::get<8>(__tuple), ::std::tr1::get<9>(__tuple)
+#define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::_GLIBCXX_TR1::get<0>(__tuple), ::std::_GLIBCXX_TR1::get<1>(__tuple), ::std::_GLIBCXX_TR1::get<2>(__tuple), ::std::_GLIBCXX_TR1::get<3>(__tuple), ::std::_GLIBCXX_TR1::get<4>(__tuple), ::std::_GLIBCXX_TR1::get<5>(__tuple), ::std::_GLIBCXX_TR1::get<6>(__tuple), ::std::_GLIBCXX_TR1::get<7>(__tuple), ::std::_GLIBCXX_TR1::get<8>(__tuple), ::std::_GLIBCXX_TR1::get<9>(__tuple)
 #define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) typename result_of<_Mu<_T1> _CV(_T1, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T2> _CV(_T2, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T3> _CV(_T3, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T4> _CV(_T4, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T5> _CV(_T5, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T6> _CV(_T6, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T7> _CV(_T7, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T8> _CV(_T8, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T9> _CV(_T9, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T10> _CV(_T10, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type
-#define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T4>()(_M_arg4, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T5>()(_M_arg5, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T6>()(_M_arg6, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T7>()(_M_arg7, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T8>()(_M_arg8, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T9>()(_M_arg9, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T10>()(_M_arg10, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))
+#define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T4>()(_M_arg4, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T5>()(_M_arg5, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T6>()(_M_arg6, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T7>()(_M_arg7, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T8>()(_M_arg8, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T9>()(_M_arg9, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T10>()(_M_arg10, ::std::_GLIBCXX_TR1::tie(_GLIBCXX_BIND_ARGS))
 #define _GLIBCXX_TUPLE_ADD_CREF typename __add_c_ref<_T1>::type __a1, typename __add_c_ref<_T2>::type __a2, typename __add_c_ref<_T3>::type __a3, typename __add_c_ref<_T4>::type __a4, typename __add_c_ref<_T5>::type __a5, typename __add_c_ref<_T6>::type __a6, typename __add_c_ref<_T7>::type __a7, typename __add_c_ref<_T8>::type __a8, typename __add_c_ref<_T9>::type __a9, typename __add_c_ref<_T10>::type __a10
 #define _GLIBCXX_TUPLE_COPY_INIT _M_arg1(__in._M_arg1), _M_arg2(__in._M_arg2), _M_arg3(__in._M_arg3), _M_arg4(__in._M_arg4), _M_arg5(__in._M_arg5), _M_arg6(__in._M_arg6), _M_arg7(__in._M_arg7), _M_arg8(__in._M_arg8), _M_arg9(__in._M_arg9), _M_arg10(__in._M_arg10)
 #define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1; _M_arg2 = __in._M_arg2; _M_arg3 = __in._M_arg3; _M_arg4 = __in._M_arg4; _M_arg5 = __in._M_arg5; _M_arg6 = __in._M_arg6; _M_arg7 = __in._M_arg7; _M_arg8 = __in._M_arg8; _M_arg9 = __in._M_arg9; _M_arg10 = __in._M_arg10;
index 92bc468..0075cc7 100644 (file)
@@ -1,6 +1,6 @@
 // TR1 stdlib.h -*- C++ -*-
 
-// Copyright (C) 2006 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007 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
 
 #if _GLIBCXX_USE_C99
 
-using std::tr1::atoll;
-using std::tr1::strtoll;
-using std::tr1::strtoull;
+using std::_GLIBCXX_TR1::atoll;
+using std::_GLIBCXX_TR1::strtoll;
+using std::_GLIBCXX_TR1::strtoull;
 
-using std::tr1::abs;
+using std::_GLIBCXX_TR1::abs;
 #if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
-using std::tr1::div;
+using std::_GLIBCXX_TR1::div;
 #endif
 
 #endif
index 379631d..ea1d9e2 100644 (file)
@@ -41,7 +41,7 @@
 
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
  // An implementation specific class which is used in the tuple class
  // when the tuple is not maximum possible size.
index 42ddf54..4a9e494 100644 (file)
@@ -36,7 +36,7 @@
 
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
 /// @brief class tuple_size
 template<_GLIBCXX_TEMPLATE_PARAMS>
index 0481801..996ecf6 100644 (file)
@@ -40,7 +40,7 @@
 // namespace std::tr1
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
   // For use in __in_array and elsewhere.
   struct __sfinae_types
index 819bb91..6f8e71a 100644 (file)
@@ -40,7 +40,7 @@
 // namespace std::tr1
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
   /// @brief  helper classes [4.3].
   template<typename _Tp, _Tp __v>
index 50e981c..3aca9f5 100644 (file)
@@ -39,7 +39,7 @@
 
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
   // XXX When we get typedef templates these class definitions
   // will be unnecessary.
index 84a24f4..bd56ead 100644 (file)
@@ -39,7 +39,7 @@
 
 namespace std
 { 
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
   // XXX When we get typedef templates these class definitions
   // will be unnecessary.
index 93e00eb..efe2503 100644 (file)
 #ifndef _TR1_UTILITY
 #define _TR1_UTILITY 1
 
-#include "../utility"
+#include <utility>
 
 namespace std
 {
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
+_GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
   template<class _Tp> class tuple_size;
   template<int _Int, class _Tp> class tuple_element;
index a6ec5fd..7852233 100644 (file)
@@ -139,9 +139,13 @@ GLIBCXX_BUILD_PCH_TRUE = @GLIBCXX_BUILD_PCH_TRUE@
 GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE = @GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE@
 GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE = @GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE@
 GLIBCXX_C_HEADERS_C_FALSE = @GLIBCXX_C_HEADERS_C_FALSE@
+GLIBCXX_C_HEADERS_C_GLOBAL_FALSE = @GLIBCXX_C_HEADERS_C_GLOBAL_FALSE@
+GLIBCXX_C_HEADERS_C_GLOBAL_TRUE = @GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@
 GLIBCXX_C_HEADERS_C_STD_FALSE = @GLIBCXX_C_HEADERS_C_STD_FALSE@
 GLIBCXX_C_HEADERS_C_STD_TRUE = @GLIBCXX_C_HEADERS_C_STD_TRUE@
 GLIBCXX_C_HEADERS_C_TRUE = @GLIBCXX_C_HEADERS_C_TRUE@
+GLIBCXX_C_HEADERS_EXTRA_FALSE = @GLIBCXX_C_HEADERS_EXTRA_FALSE@
+GLIBCXX_C_HEADERS_EXTRA_TRUE = @GLIBCXX_C_HEADERS_EXTRA_TRUE@
 GLIBCXX_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@
 GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
 GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
index 4c9f181..d562d49 100644 (file)
@@ -180,9 +180,13 @@ GLIBCXX_BUILD_PCH_TRUE = @GLIBCXX_BUILD_PCH_TRUE@
 GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE = @GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE@
 GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE = @GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE@
 GLIBCXX_C_HEADERS_C_FALSE = @GLIBCXX_C_HEADERS_C_FALSE@
+GLIBCXX_C_HEADERS_C_GLOBAL_FALSE = @GLIBCXX_C_HEADERS_C_GLOBAL_FALSE@
+GLIBCXX_C_HEADERS_C_GLOBAL_TRUE = @GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@
 GLIBCXX_C_HEADERS_C_STD_FALSE = @GLIBCXX_C_HEADERS_C_STD_FALSE@
 GLIBCXX_C_HEADERS_C_STD_TRUE = @GLIBCXX_C_HEADERS_C_STD_TRUE@
 GLIBCXX_C_HEADERS_C_TRUE = @GLIBCXX_C_HEADERS_C_TRUE@
+GLIBCXX_C_HEADERS_EXTRA_FALSE = @GLIBCXX_C_HEADERS_EXTRA_FALSE@
+GLIBCXX_C_HEADERS_EXTRA_TRUE = @GLIBCXX_C_HEADERS_EXTRA_TRUE@
 GLIBCXX_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@
 GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
 GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@